import type { CategoryData, ChannelPermissionsData, CreateOptions, LoadOptions, MessageData, TextChannelData, VoiceChannelData } from './types';
export declare function enableSelfbotMode(): boolean;
export declare function disableSelfbotMode(): boolean;
declare const CategoryChannel: any, Guild: any, TextChannel: any, VoiceChannel: any, NewsChannel: any, ThreadChannel: any, StageChannel: any;
type GuildType = typeof Guild;
type CategoryChannelType = typeof CategoryChannel;
type TextChannelType = typeof TextChannel;
type VoiceChannelType = typeof VoiceChannel;
type StageChannelType = typeof StageChannel;
type NewsChannelType = typeof NewsChannel;
type ThreadChannelType = typeof ThreadChannel;
/**
 * Gets the permissions for a channel
 */
export declare function fetchChannelPermissions(channel: InstanceType<TextChannelType> | InstanceType<VoiceChannelType> | InstanceType<CategoryChannelType> | InstanceType<NewsChannelType> | InstanceType<StageChannelType>): ChannelPermissionsData[];
/**
 * Fetches the voice channel data that is necessary for the backup
 */
export declare function fetchVoiceChannelData(channel: InstanceType<VoiceChannelType>): Promise<VoiceChannelData>;
export declare function fetchStageChannelData(channel: InstanceType<StageChannelType>): Promise<VoiceChannelData>;
export declare function fetchChannelMessages(channel: InstanceType<TextChannelType> | InstanceType<NewsChannelType> | InstanceType<ThreadChannelType>, options: CreateOptions): Promise<MessageData[]>;
/**
 * Fetches the text channel data that is necessary for the backup
 */
export declare function fetchTextChannelData(channel: InstanceType<TextChannelType> | InstanceType<NewsChannelType>, options: CreateOptions): Promise<TextChannelData>;
/**
 * Creates a category for the guild
 */
export declare function loadCategory(categoryData: CategoryData, guild: InstanceType<GuildType>): Promise<any>;
/**
 * Create a channel and returns it
 */
export declare function loadChannel(channelData: TextChannelData | VoiceChannelData, guild: InstanceType<GuildType>, category?: InstanceType<CategoryChannelType>, options?: LoadOptions): Promise<void>;
/**
 * Delete all roles, all channels, all emojis, etc... of a guild
 */
export declare function clearGuild(guild: InstanceType<GuildType>): Promise<void>;
export {};
