import mongoose, { HydratedDocument, Types } from "mongoose";
export declare enum chatDisappearing {
    OFF = "OFF",
    HOURS_24 = "HOURS_24",
    DAYS_7 = "DAYS_7",
    DAYS_90 = "DAYS_90"
}
export declare enum ConnectionTypes {
    NORMAL = "NORMAL",
    GROUP = "GROUP"
}
export declare enum AppearanceType {
    WITH_PROFILE_IMAGE = "WITH_PROFILE_IMAGE",
    RECIEVER_PROFILE_IMAGE = "RECIEVER_PROFILE_IMAGE",
    WITHOUT_PROFILE_IMAGE = "WITHOUT_PROFILE_IMAGE"
}
export type ConnectionDocument = HydratedDocument<Connection>;
export declare class Connection {
    sent_by: Types.ObjectId;
    sent_to: Types.ObjectId;
    group_name: string;
    group_creator_id: Types.ObjectId;
    group_image_url: string;
    connection_type: string;
    connection_locked_by: Types.ObjectId[];
    connection_pinned_by: Types.ObjectId[];
    connection_deleted_by: Types.ObjectId[];
    connection_archived_by: Types.ObjectId[];
    chat_disappear_by: Array<{
        user_id: Types.ObjectId;
        chat_disappearing: chatDisappearing;
        chat_disapear_for: string;
    }>;
    chat_disappearing: string;
    connection_muted_by: Array<{
        user_id: Types.ObjectId;
        time: number;
        type: "HOUR" | "WEEK" | "ALWAYS" | null;
    }>;
    updated_at: number;
    created_at: number;
}
export declare const ConnectionSchema: mongoose.Schema<Connection, mongoose.Model<Connection, any, any, any, mongoose.Document<unknown, any, Connection, any> & Connection & {
    _id: Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, Connection, mongoose.Document<unknown, {}, mongoose.FlatRecord<Connection>, {}> & mongoose.FlatRecord<Connection> & {
    _id: Types.ObjectId;
} & {
    __v: number;
}>;
