import _m0 from "protobufjs/minimal";
export declare const protobufPackage = "snapchat.lenses";
export interface BitmojiUserInfo {
    avatarId: string;
    selfieId: string;
}
export interface FriendUserInfo {
    friendshipStart: Date | undefined;
    lastInteraction: Date | undefined;
    streak: number;
}
export interface UserData {
    userId: string;
    username: string;
    birthdate: string;
    displayName: string;
    countrycode: string;
    score: string;
    bitmojiInfo: BitmojiUserInfo | undefined;
    friendInfo: FriendUserInfo | undefined;
    zodiac: UserData_Zodiac;
}
export declare enum UserData_Zodiac {
    Invalid = "Invalid",
    Aquarius = "Aquarius",
    Aries = "Aries",
    Cancer = "Cancer",
    Capricorn = "Capricorn",
    Gemini = "Gemini",
    Leo = "Leo",
    Libra = "Libra",
    Pisces = "Pisces",
    Sagittarius = "Sagittarius",
    Scorpio = "Scorpio",
    Taurus = "Taurus",
    Virgo = "Virgo",
    UNRECOGNIZED = "UNRECOGNIZED"
}
export declare function userData_ZodiacFromJSON(object: any): UserData_Zodiac;
export declare function userData_ZodiacToNumber(object: UserData_Zodiac): number;
export interface UserDataList {
    userData: UserData[];
}
export declare const BitmojiUserInfo: {
    encode(message: BitmojiUserInfo, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BitmojiUserInfo;
    fromPartial<I extends {
        avatarId?: string | undefined;
        selfieId?: string | undefined;
    } & {
        avatarId?: string | undefined;
        selfieId?: string | undefined;
    } & Record<Exclude<keyof I, keyof BitmojiUserInfo>, never>>(object: I): BitmojiUserInfo;
};
export declare const FriendUserInfo: {
    encode(message: FriendUserInfo, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): FriendUserInfo;
    fromPartial<I extends {
        friendshipStart?: Date | undefined;
        lastInteraction?: Date | undefined;
        streak?: number | undefined;
    } & {
        friendshipStart?: Date | undefined;
        lastInteraction?: Date | undefined;
        streak?: number | undefined;
    } & Record<Exclude<keyof I, keyof FriendUserInfo>, never>>(object: I): FriendUserInfo;
};
export declare const UserData: {
    encode(message: UserData, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UserData;
    fromPartial<I extends {
        userId?: string | undefined;
        username?: string | undefined;
        birthdate?: string | undefined;
        displayName?: string | undefined;
        countrycode?: string | undefined;
        score?: string | undefined;
        bitmojiInfo?: {
            avatarId?: string | undefined;
            selfieId?: string | undefined;
        } | undefined;
        friendInfo?: {
            friendshipStart?: Date | undefined;
            lastInteraction?: Date | undefined;
            streak?: number | undefined;
        } | undefined;
        zodiac?: UserData_Zodiac | undefined;
    } & {
        userId?: string | undefined;
        username?: string | undefined;
        birthdate?: string | undefined;
        displayName?: string | undefined;
        countrycode?: string | undefined;
        score?: string | undefined;
        bitmojiInfo?: ({
            avatarId?: string | undefined;
            selfieId?: string | undefined;
        } & {
            avatarId?: string | undefined;
            selfieId?: string | undefined;
        } & Record<Exclude<keyof I["bitmojiInfo"], keyof BitmojiUserInfo>, never>) | undefined;
        friendInfo?: ({
            friendshipStart?: Date | undefined;
            lastInteraction?: Date | undefined;
            streak?: number | undefined;
        } & {
            friendshipStart?: Date | undefined;
            lastInteraction?: Date | undefined;
            streak?: number | undefined;
        } & Record<Exclude<keyof I["friendInfo"], keyof FriendUserInfo>, never>) | undefined;
        zodiac?: UserData_Zodiac | undefined;
    } & Record<Exclude<keyof I, keyof UserData>, never>>(object: I): UserData;
};
export declare const UserDataList: {
    encode(message: UserDataList, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UserDataList;
    fromPartial<I extends {
        userData?: {
            userId?: string | undefined;
            username?: string | undefined;
            birthdate?: string | undefined;
            displayName?: string | undefined;
            countrycode?: string | undefined;
            score?: string | undefined;
            bitmojiInfo?: {
                avatarId?: string | undefined;
                selfieId?: string | undefined;
            } | undefined;
            friendInfo?: {
                friendshipStart?: Date | undefined;
                lastInteraction?: Date | undefined;
                streak?: number | undefined;
            } | undefined;
            zodiac?: UserData_Zodiac | undefined;
        }[] | undefined;
    } & {
        userData?: ({
            userId?: string | undefined;
            username?: string | undefined;
            birthdate?: string | undefined;
            displayName?: string | undefined;
            countrycode?: string | undefined;
            score?: string | undefined;
            bitmojiInfo?: {
                avatarId?: string | undefined;
                selfieId?: string | undefined;
            } | undefined;
            friendInfo?: {
                friendshipStart?: Date | undefined;
                lastInteraction?: Date | undefined;
                streak?: number | undefined;
            } | undefined;
            zodiac?: UserData_Zodiac | undefined;
        }[] & ({
            userId?: string | undefined;
            username?: string | undefined;
            birthdate?: string | undefined;
            displayName?: string | undefined;
            countrycode?: string | undefined;
            score?: string | undefined;
            bitmojiInfo?: {
                avatarId?: string | undefined;
                selfieId?: string | undefined;
            } | undefined;
            friendInfo?: {
                friendshipStart?: Date | undefined;
                lastInteraction?: Date | undefined;
                streak?: number | undefined;
            } | undefined;
            zodiac?: UserData_Zodiac | undefined;
        } & {
            userId?: string | undefined;
            username?: string | undefined;
            birthdate?: string | undefined;
            displayName?: string | undefined;
            countrycode?: string | undefined;
            score?: string | undefined;
            bitmojiInfo?: ({
                avatarId?: string | undefined;
                selfieId?: string | undefined;
            } & {
                avatarId?: string | undefined;
                selfieId?: string | undefined;
            } & Record<Exclude<keyof I["userData"][number]["bitmojiInfo"], keyof BitmojiUserInfo>, never>) | undefined;
            friendInfo?: ({
                friendshipStart?: Date | undefined;
                lastInteraction?: Date | undefined;
                streak?: number | undefined;
            } & {
                friendshipStart?: Date | undefined;
                lastInteraction?: Date | undefined;
                streak?: number | undefined;
            } & Record<Exclude<keyof I["userData"][number]["friendInfo"], keyof FriendUserInfo>, never>) | undefined;
            zodiac?: UserData_Zodiac | undefined;
        } & Record<Exclude<keyof I["userData"][number], keyof UserData>, never>)[] & Record<Exclude<keyof I["userData"], keyof {
            userId?: string | undefined;
            username?: string | undefined;
            birthdate?: string | undefined;
            displayName?: string | undefined;
            countrycode?: string | undefined;
            score?: string | undefined;
            bitmojiInfo?: {
                avatarId?: string | undefined;
                selfieId?: string | undefined;
            } | undefined;
            friendInfo?: {
                friendshipStart?: Date | undefined;
                lastInteraction?: Date | undefined;
                streak?: number | undefined;
            } | undefined;
            zodiac?: UserData_Zodiac | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, "userData">, never>>(object: I): UserDataList;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
    $case: string;
} ? {
    [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]>;
} & {
    $case: T["$case"];
} : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
export {};
//# sourceMappingURL=user_data.d.ts.map