import { RequestTypes } from 'detritus-client-rest';
import { ShardClient } from '../../client';
import { ClusterClient } from '../../clusterclient';
import { ClusterProcessChild } from '../../cluster/processchild';
import { Interaction, InteractionDataComponent, InteractionEditOrRespond, Message } from '../../structures';
export declare class ComponentContext {
    readonly client: ShardClient;
    readonly interaction: Interaction;
    constructor(interaction: Interaction);
    get application(): import("../../structures").Oauth2Application | null;
    get applicationId(): string;
    get cluster(): ClusterClient | null;
    get commandClient(): import("../..").CommandClient | null;
    get gateway(): import("detritus-client-socket/lib/gateway").Socket;
    get interactionCommandClient(): import("../..").InteractionCommandClient | null;
    get manager(): ClusterProcessChild | null;
    get owners(): import("detritus-utils").BaseCollection<string, import("../../structures").User>;
    get rest(): import("../../rest").RestClient;
    get shardCount(): number;
    get shardId(): number;
    get applications(): import("../../collections").Applications;
    get channels(): import("../../collections").Channels;
    get emojis(): import("../../collections").Emojis;
    get guilds(): import("../../collections").Guilds;
    get interactions(): import("../../collections").Interactions;
    get members(): import("../../collections").Members;
    get messages(): import("../../collections").Messages;
    get notes(): import("../../collections").Notes;
    get presences(): import("../../collections").Presences;
    get relationships(): import("../../collections").Relationships;
    get roles(): import("../../collections").Roles;
    get sessions(): import("../../collections").Sessions;
    get stageInstances(): import("../../collections").StageInstances;
    get stickers(): import("../../collections").Stickers;
    get typings(): import("../../collections").TypingCollection;
    get users(): import("../../collections").Users;
    get voiceCalls(): import("../../collections").VoiceCalls;
    get voiceConnections(): import("../../collections").VoiceConnections;
    get voiceStates(): import("../../collections").VoiceStates;
    get customId(): string;
    get data(): InteractionDataComponent;
    get channel(): import("../../structures").Channel | null;
    get channelId(): string;
    get guild(): import("../../structures").Guild | null;
    get guildId(): string | undefined;
    get id(): string;
    get inDm(): boolean;
    get interactionId(): string;
    get me(): import("../../structures").Member | null;
    get member(): import("../../structures").Member | undefined;
    get message(): Message;
    get responded(): boolean;
    get response(): Message | null;
    get responseDeleted(): boolean | undefined;
    get responseId(): string | undefined;
    get token(): string;
    get user(): import("../../structures").User;
    get userId(): string;
    get voiceChannel(): import("../../structures").ChannelGuildVoice | null;
    get voiceConnection(): import("../../media/voiceconnection").VoiceConnection | undefined;
    get voiceState(): import("../../structures").VoiceState | null;
    createMessage(options?: RequestTypes.ExecuteWebhook | string): Promise<Message | null>;
    createResponse(options: RequestTypes.CreateInteractionResponse | number, data?: RequestTypes.CreateInteractionResponseInnerPayload | string): Promise<any>;
    deleteMessage(messageId: string): Promise<any>;
    deleteResponse(): Promise<any>;
    editMessage(messageId: string, options?: RequestTypes.EditWebhookTokenMessage): Promise<Message>;
    editResponse(options?: RequestTypes.EditWebhookTokenMessage): Promise<Message>;
    editOrRespond(options?: InteractionEditOrRespond | string): Promise<any>;
    fetchMessage(messageId: string): Promise<Message>;
    fetchResponse(): Promise<Message>;
    respond(options: RequestTypes.CreateInteractionResponse | number, data?: RequestTypes.CreateInteractionResponseInnerPayload | string): Promise<any>;
    toJSON(): object;
    toString(): string;
}
