ChannelSelectionOptions: {
    channel?: Channel;
    channelId?: string;
    channelIds?: string[];
    channelInfoHash?: SHA256Hash<ChannelInfo>;
    channelInfoHashes?: SHA256Hash<ChannelInfo>[];
    channelInfoIdHash?: SHA256IdHash<ChannelInfo>;
    channelInfoIdHashes?: SHA256IdHash<ChannelInfo>[];
    channels?: Channel[];
    id?: string;
    ids?: string[];
    owner?: SHA256IdHash<Person> | null | "mainId";
    owners?: (SHA256IdHash<Person> | null | "mainId")[];
}

Options used for selecting a specific channel

Owners and channelIds must match in order to be returned. So if you specify one owner and one channelId you will get one channel. If you specify two owners and two channelIds you get up to four channels (all combinations of owner / channelId - if a corresponding channel exists)

The other stuff is additive, so if you specify one 'channel' and one 'channelInfoHash' you will get two entries.

If an element is missing, this means that all of them should be queried.