export interface WuzapiCredentials {
    token: string;
    url: string;
    advancedOptions?: {
        proxyUrl?: string;
        timeout?: number;
        retryOnFailure?: boolean;
        maxRetries?: number;
    };
}
export interface WuzapiUser {
    id: string;
    name: string;
    token: string;
    webhook?: string;
    events?: string;
    connected?: boolean;
    loggedIn?: boolean;
    jid?: string;
    qrcode?: string;
    proxy_url?: string;
    expiration?: number;
}
export interface WuzapiMessage {
    id: string;
    timestamp: string;
    details: string;
}
export interface WuzapiGroup {
    JID: string;
    Name: string;
    OwnerJID: string;
    GroupCreated: string;
    IsAnnounce: boolean;
    IsEphemeral: boolean;
    IsLocked: boolean;
    DisappearingTimer: number;
    Participants: WuzapiParticipant[];
    Topic: string;
    TopicSetAt: string;
    TopicSetBy: string;
}
export interface WuzapiParticipant {
    JID: string;
    IsAdmin: boolean;
    IsSuperAdmin: boolean;
}
export interface WuzapiContact {
    JID: string;
    Found: boolean;
    BusinessName: string;
    FirstName: string;
    FullName: string;
    PushName: string;
}
export type WuzapiEventType = 'All' | 'AppState' | 'AppStateSyncComplete' | 'Blocklist' | 'BlocklistChange' | 'CallAccept' | 'CallOffer' | 'CallOfferNotice' | 'CallRelayLatency' | 'CallTerminate' | 'CATRefreshError' | 'ChatPresence' | 'ClientOutdated' | 'ConnectFailure' | 'Connected' | 'Disconnected' | 'FBMessage' | 'GroupInfo' | 'HistorySync' | 'IdentityChange' | 'JoinedGroup' | 'KeepAliveRestored' | 'KeepAliveTimeout' | 'LoggedOut' | 'MediaRetry' | 'Message' | 'NewsletterJoin' | 'NewsletterLeave' | 'NewsletterLiveUpdate' | 'NewsletterMuteChange' | 'OfflineSyncCompleted' | 'OfflineSyncPreview' | 'PairError' | 'PairSuccess' | 'Picture' | 'Presence' | 'PrivacySettings' | 'PushNameSetting' | 'QR' | 'QRScannedWithoutMultidevice' | 'ReadReceipt' | 'Receipt' | 'StreamError' | 'StreamReplaced' | 'TemporaryBan' | 'UndecryptableMessage' | 'UserAbout';
export interface WuzapiWebhookPayload {
    event: WuzapiEventType;
    instanceId: string;
    data: any;
    timestamp: string;
}
export interface S3Config {
    enabled: boolean;
    endpoint?: string;
    region?: string;
    bucket?: string;
    access_key?: string;
    secret_key?: string;
    path_style?: boolean;
    public_url?: string;
    media_delivery?: 'base64' | 's3' | 'both';
    retention_days?: number;
}
export interface ProxyConfig {
    proxy_url: string;
    enable: boolean;
}
//# sourceMappingURL=index.d.ts.map