import { ShardClient } from '../client';
import { BaseSet } from '../collections/baseset';
import { BaseStructure, BaseStructureData } from './basestructure';
import { User } from './user';
/**
 * Guild Integration Structure
 * @category Structure
 */
export declare class Integration extends BaseStructure {
    readonly _keys: BaseSet<string>;
    account: IntegrationAccount;
    enabled: boolean;
    expireBehavior: number;
    expireGracePeriod: number;
    guildId: string;
    id: string;
    name: string;
    roleId: string;
    syncedAt: Date;
    syncing: boolean;
    type: string;
    user: User;
    constructor(client: ShardClient, data?: BaseStructureData, isClone?: boolean);
    get createdAt(): Date;
    get createdAtUnix(): number;
    mergeValue(key: string, value: any): void;
}
/**
 * Guild Integration Account Structure, used in [[Integration]]
 * @category Structure
 */
export declare class IntegrationAccount extends BaseStructure {
    readonly _uncloneable = true;
    readonly _keys: BaseSet<string>;
    readonly integration: Integration;
    id: string;
    name: string;
    constructor(integration: Integration, data: BaseStructureData);
}
