import { ComponentType, MessageComponentInteraction, MessageComponentType } from 'discord.js';
import { NestCordBaseDiscovery } from '../context';
export interface MessageComponentMeta {
    type: Exclude<MessageComponentType, ComponentType.ActionRow | ComponentType.TextInput>;
    customId: string;
}
/**
 * Represents a message component discovery.
 */
export declare class MessageComponentDiscovery extends NestCordBaseDiscovery<MessageComponentMeta> {
    readonly matcher: import("path-to-regexp").MatchFunction<Partial<Record<string, string | string[]>>>;
    getType(): MessageComponentType;
    getCustomId(): string;
    execute(interaction: MessageComponentInteraction): unknown;
    isMessageComponent(): this is MessageComponentDiscovery;
    toJSON(): MessageComponentMeta;
}
