import { AnyGuildChannel, Constants } from 'eris';
import { AnyCommandContext } from '../CommandContext';
import { OptionType } from '../constants/OptionType';
import { AnyValueCommandOption, CommandOptionValue } from '../interfaces/CommandOption';
import { Resolver } from '../interfaces/Resolver';
export interface ChannelOption extends CommandOptionValue<OptionType.CHANNEL> {
    channelTypes?: Array<Constants['ChannelTypes'][keyof Constants['ChannelTypes']]>;
}
export declare class ChannelOptionResolver implements Resolver<AnyGuildChannel> {
    option: OptionType;
    convert: 7;
    reduce(ctx: AnyCommandContext, option: ChannelOption, channel: AnyGuildChannel): Promise<{
        display: string;
        extra?: string;
    }>;
    resolve(ctx: AnyCommandContext, option: ChannelOption, input: string): Promise<AnyGuildChannel | Array<AnyGuildChannel>>;
    private checkChannel;
    help(ctx: AnyCommandContext, option: AnyValueCommandOption, data: Map<string, string>): Promise<Map<string, string>>;
}
