import type { MessageLabel, PendingTaskTypes, Role } from 'stream-chat';
import type { ValueOf } from '../types/types';
type Tables = {
    [P in keyof Schema]: {
        columns: {
            [K in keyof Schema[P]]: string;
        };
        foreignKeys?: Array<{
            column: `${Exclude<keyof Schema[P], symbol>}`;
            referenceTable: `${keyof Schema}`;
            referenceTableColumn: string;
            onDeleteAction?: 'NO ACTION' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT' | 'CASCADE';
        }>;
        indexes?: Array<{
            columns: Array<keyof Schema[P]>;
            name: string;
            unique: boolean;
        }>;
        primaryKey?: Array<keyof Schema[P]>;
    };
};
export declare const tables: Tables;
export type Schema = {
    channelQueries: {
        cids: string;
        id: string;
    };
    channels: {
        cid: string;
        extraData: string;
        id: string;
        type: string;
        autoTranslationEnabled?: boolean;
        autoTranslationLanguage?: string;
        config?: string;
        cooldown?: number;
        createdAt?: string;
        createdById?: string;
        deletedAt?: string;
        disabled?: boolean;
        frozen?: boolean;
        hidden?: boolean;
        invites?: string;
        lastMessageAt?: string;
        memberCount?: number;
        muted?: boolean;
        ownCapabilities?: string;
        team?: string;
        truncatedAt?: string;
        truncatedBy?: string;
        truncatedById?: string;
        updatedAt?: string;
    };
    members: {
        archivedAt?: string;
        cid: string;
        banned?: boolean;
        channelRole?: Role;
        createdAt?: string;
        inviteAcceptedAt?: string;
        invited?: boolean;
        inviteRejectedAt?: string;
        isModerator?: boolean;
        role?: string;
        shadowBanned?: boolean;
        updatedAt?: string;
        userId?: string;
        pinnedAt?: string;
    };
    messages: {
        attachments: string;
        cid: string;
        createdAt: string;
        deletedAt: string;
        extraData: string;
        id: string;
        messageTextUpdatedAt: string;
        poll_id: string;
        reactionGroups: string;
        type: MessageLabel;
        updatedAt: string;
        text?: string;
        userId?: string;
    };
    pendingTasks: {
        channelId: string;
        channelType: string;
        createdAt: string;
        id: number;
        messageId: string;
        payload: string;
        type: ValueOf<PendingTaskTypes>;
    };
    poll: {
        answers_count: number;
        created_at: string;
        created_by: string;
        created_by_id: string;
        enforce_unique_vote: boolean;
        id: string;
        latest_answers: string;
        latest_votes_by_option: string;
        max_votes_allowed: number;
        name: string;
        options: string;
        updated_at: string;
        vote_count: number;
        vote_counts_by_option: string;
        allow_answers?: boolean;
        allow_user_suggested_options?: boolean;
        description?: string;
        is_closed?: boolean;
        own_votes?: string;
        voting_visibility?: string;
    };
    reactions: {
        createdAt: string;
        messageId: string;
        type: string;
        updatedAt: string;
        extraData?: string;
        score?: number;
        userId?: string;
    };
    reads: {
        cid: string;
        lastRead: string;
        lastReadMessageId?: string;
        unreadMessages?: number;
        userId?: string;
    };
    users: {
        id: string;
        banned?: boolean;
        createdAt?: string;
        extraData?: string;
        lastActive?: string;
        online?: boolean;
        role?: string;
        updatedAt?: string;
    };
    userSyncStatus: {
        appSettings: string;
        lastSyncedAt: string;
        userId: string;
    };
};
export {};
//# sourceMappingURL=schema.d.ts.map