export {};
declare global {
    namespace Amity {
        type timestamp = string;
        const enum SyncState {
            Synced = "synced",
            Syncing = "syncing",
            Error = "error"
        }
        type ImageDisplayMode = 'fit' | 'fill';
        type CreatedAt = {
            createdAt: timestamp;
        };
        type UpdatedAt = {
            updatedAt?: timestamp;
        };
        type DeletedAt = {
            deletedAt?: timestamp;
        };
        type ExpiresAt = {
            expiresAt?: timestamp;
        };
        type SyncAt = {
            lastSyncAt: timestamp;
        };
        type Timestamps = CreatedAt & UpdatedAt;
        type SoftDelete = DeletedAt & {
            isDeleted?: boolean;
        };
        type Metadata<T = Record<string, any>> = {
            metadata?: T;
        };
        type Relationship<T extends string> = {
            referenceId: string;
            referenceType: T;
        };
        type Flaggable = {
            flagCount: number;
            hashFlag: {
                bits: number;
                hashes: number;
                hash: string;
            } | null;
        };
        type Taggable = {
            tags?: string[];
        };
        type Accredited = {
            roles: Amity.Role['displayName'][];
            permissions: Amity.Permission[];
        };
        type Subscribable = {
            path: string;
        };
        type IsMentioned = {
            isMentioned: boolean;
        };
    }
}
//# sourceMappingURL=partials.d.ts.map