import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
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: MessageFns<BitmojiUserInfo>;
export declare const FriendUserInfo: MessageFns<FriendUserInfo>;
export declare const UserData: MessageFns<UserData>;
export declare const UserDataList: MessageFns<UserDataList>;
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.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]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export interface MessageFns<T> {
    encode(message: T, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): T;
    create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
    fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
}
export {};
//# sourceMappingURL=user_data.d.ts.map