import _m0 from "protobufjs/minimal";
import { Snappable } from "./snappable";
import { Lures } from "./lures";
import { UserData } from "./user_data";
import { PersistentStore } from "./persistent_store";
import { LaunchParams } from "./launch_params";
export declare const protobufPackage = "snapchat.lenses";
export interface LaunchData {
    snappable: Snappable | undefined;
    lures: Lures | undefined;
    userId: string;
    entryPoint: LaunchData_EntryPoint;
    userData: UserData | undefined;
    persistentStore: PersistentStore | undefined;
    launchParams: LaunchParams | undefined;
    apiDescriptors: LaunchData_ApiDescriptor[];
    renderConfig: LaunchData_RenderConfig;
    activationSource: LaunchData_ActivationSource;
    overridenLaunchTime: Date | undefined;
}
export declare enum LaunchData_EntryPoint {
    LIVE_CAMERA = "LIVE_CAMERA",
    STORY_REPLY = "STORY_REPLY",
    CHAT_REPLY = "CHAT_REPLY",
    RESTART = "RESTART",
    PREVIEW_CANCEL = "PREVIEW_CANCEL",
    MAP = "MAP",
    BITMOJI_STICKERS = "BITMOJI_STICKERS",
    POST_CAPTURE_PREVIEW = "POST_CAPTURE_PREVIEW",
    POST_CAPTURE_TRANSCODING = "POST_CAPTURE_TRANSCODING",
    UNRECOGNIZED = "UNRECOGNIZED"
}
export declare function launchData_EntryPointFromJSON(object: any): LaunchData_EntryPoint;
export declare function launchData_EntryPointToNumber(object: LaunchData_EntryPoint): number;
export declare enum LaunchData_ApiDescriptor {
    NONE = "NONE",
    EXPERIMENTAL = "EXPERIMENTAL",
    UNRECOGNIZED = "UNRECOGNIZED"
}
export declare function launchData_ApiDescriptorFromJSON(object: any): LaunchData_ApiDescriptor;
export declare function launchData_ApiDescriptorToNumber(object: LaunchData_ApiDescriptor): number;
export declare enum LaunchData_RenderConfig {
    DEFAULT = "DEFAULT",
    REPLAY_STREAM = "REPLAY_STREAM",
    UNRECOGNIZED = "UNRECOGNIZED"
}
export declare function launchData_RenderConfigFromJSON(object: any): LaunchData_RenderConfig;
export declare function launchData_RenderConfigToNumber(object: LaunchData_RenderConfig): number;
export declare enum LaunchData_ActivationSource {
    ACTIVATION_SOURCE_UNSET = "ACTIVATION_SOURCE_UNSET",
    ACTIVATION_SOURCE_DEFAULT = "ACTIVATION_SOURCE_DEFAULT",
    CREATIVE = "CREATIVE",
    SCAN = "SCAN",
    SCAN_HISTORY = "SCAN_HISTORY",
    CHAT_FEED_PSA = "CHAT_FEED_PSA",
    GROWTH_NOTIFICATION = "GROWTH_NOTIFICATION",
    MASS_SNAP = "MASS_SNAP",
    SMART_CTA = "SMART_CTA",
    MASS_CHAT = "MASS_CHAT",
    BILLBOARD_FHP = "BILLBOARD_FHP",
    LENS_ACTIVITY_CENTER = "LENS_ACTIVITY_CENTER",
    AR_BAR = "AR_BAR",
    UNRECOGNIZED = "UNRECOGNIZED"
}
export declare function launchData_ActivationSourceFromJSON(object: any): LaunchData_ActivationSource;
export declare function launchData_ActivationSourceToNumber(object: LaunchData_ActivationSource): number;
export declare const LaunchData: {
    encode(message: LaunchData, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): LaunchData;
    fromPartial<I extends {
        snappable?: {
            id?: string | undefined;
            sessionId?: string | undefined;
            playerId?: string | undefined;
            sessionData?: {
                playerData?: {
                    [x: string]: {
                        store?: {
                            [x: string]: string | undefined;
                        } | undefined;
                        serializedStore?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            createdTime?: string | undefined;
            expireTime?: string | undefined;
            version?: number | undefined;
            encryptionData?: {
                key?: Uint8Array | undefined;
                ivStore?: {
                    [x: string]: Uint8Array | undefined;
                } | undefined;
                isKeyServerEncrypted?: boolean | undefined;
                isKeyE2eEncrypted?: boolean | undefined;
                encryptionScheme?: import("./snappable").EncryptionData_EncryptionScheme | undefined;
            } | undefined;
            sessionDepth?: number | undefined;
        } | undefined;
        lures?: {
            locations?: {
                radius?: number | undefined;
                center?: {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } | undefined;
            }[] | undefined;
            activeLure?: {
                radius?: number | undefined;
                center?: {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } | undefined;
            } | undefined;
            closestLure?: {
                radius?: number | undefined;
                center?: {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } | undefined;
            } | undefined;
        } | undefined;
        userId?: string | undefined;
        entryPoint?: LaunchData_EntryPoint | 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?: import("./user_data").UserData_Zodiac | undefined;
        } | undefined;
        persistentStore?: {
            store?: Uint8Array | undefined;
        } | undefined;
        launchParams?: {
            data?: Uint8Array | undefined;
        } | undefined;
        apiDescriptors?: LaunchData_ApiDescriptor[] | undefined;
        renderConfig?: LaunchData_RenderConfig | undefined;
        activationSource?: LaunchData_ActivationSource | undefined;
        overridenLaunchTime?: Date | undefined;
    } & {
        snappable?: ({
            id?: string | undefined;
            sessionId?: string | undefined;
            playerId?: string | undefined;
            sessionData?: {
                playerData?: {
                    [x: string]: {
                        store?: {
                            [x: string]: string | undefined;
                        } | undefined;
                        serializedStore?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
            } | undefined;
            createdTime?: string | undefined;
            expireTime?: string | undefined;
            version?: number | undefined;
            encryptionData?: {
                key?: Uint8Array | undefined;
                ivStore?: {
                    [x: string]: Uint8Array | undefined;
                } | undefined;
                isKeyServerEncrypted?: boolean | undefined;
                isKeyE2eEncrypted?: boolean | undefined;
                encryptionScheme?: import("./snappable").EncryptionData_EncryptionScheme | undefined;
            } | undefined;
            sessionDepth?: number | undefined;
        } & {
            id?: string | undefined;
            sessionId?: string | undefined;
            playerId?: string | undefined;
            sessionData?: ({
                playerData?: {
                    [x: string]: {
                        store?: {
                            [x: string]: string | undefined;
                        } | undefined;
                        serializedStore?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
            } & {
                playerData?: ({
                    [x: string]: {
                        store?: {
                            [x: string]: string | undefined;
                        } | undefined;
                        serializedStore?: Uint8Array | undefined;
                    } | undefined;
                } & {
                    [x: string]: ({
                        store?: {
                            [x: string]: string | undefined;
                        } | undefined;
                        serializedStore?: Uint8Array | undefined;
                    } & {
                        store?: ({
                            [x: string]: string | undefined;
                        } & {
                            [x: string]: string | undefined;
                        } & Record<Exclude<keyof I["snappable"]["sessionData"]["playerData"][string]["store"], string | number>, never>) | undefined;
                        serializedStore?: Uint8Array | undefined;
                    } & Record<Exclude<keyof I["snappable"]["sessionData"]["playerData"][string], keyof import("./snappable").PlayerData>, never>) | undefined;
                } & Record<Exclude<keyof I["snappable"]["sessionData"]["playerData"], string | number>, never>) | undefined;
            } & Record<Exclude<keyof I["snappable"]["sessionData"], "playerData">, never>) | undefined;
            createdTime?: string | undefined;
            expireTime?: string | undefined;
            version?: number | undefined;
            encryptionData?: ({
                key?: Uint8Array | undefined;
                ivStore?: {
                    [x: string]: Uint8Array | undefined;
                } | undefined;
                isKeyServerEncrypted?: boolean | undefined;
                isKeyE2eEncrypted?: boolean | undefined;
                encryptionScheme?: import("./snappable").EncryptionData_EncryptionScheme | undefined;
            } & {
                key?: Uint8Array | undefined;
                ivStore?: ({
                    [x: string]: Uint8Array | undefined;
                } & {
                    [x: string]: Uint8Array | undefined;
                } & Record<Exclude<keyof I["snappable"]["encryptionData"]["ivStore"], string | number>, never>) | undefined;
                isKeyServerEncrypted?: boolean | undefined;
                isKeyE2eEncrypted?: boolean | undefined;
                encryptionScheme?: import("./snappable").EncryptionData_EncryptionScheme | undefined;
            } & Record<Exclude<keyof I["snappable"]["encryptionData"], keyof import("./snappable").EncryptionData>, never>) | undefined;
            sessionDepth?: number | undefined;
        } & Record<Exclude<keyof I["snappable"], keyof Snappable>, never>) | undefined;
        lures?: ({
            locations?: {
                radius?: number | undefined;
                center?: {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } | undefined;
            }[] | undefined;
            activeLure?: {
                radius?: number | undefined;
                center?: {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } | undefined;
            } | undefined;
            closestLure?: {
                radius?: number | undefined;
                center?: {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } | undefined;
            } | undefined;
        } & {
            locations?: ({
                radius?: number | undefined;
                center?: {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } | undefined;
            }[] & ({
                radius?: number | undefined;
                center?: {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } | undefined;
            } & {
                radius?: number | undefined;
                center?: ({
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } & {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } & Record<Exclude<keyof I["lures"]["locations"][number]["center"], keyof import("./geopoint").Geopoint>, never>) | undefined;
            } & Record<Exclude<keyof I["lures"]["locations"][number], keyof import("./geocircle").Geocircle>, never>)[] & Record<Exclude<keyof I["lures"]["locations"], keyof {
                radius?: number | undefined;
                center?: {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } | undefined;
            }[]>, never>) | undefined;
            activeLure?: ({
                radius?: number | undefined;
                center?: {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } | undefined;
            } & {
                radius?: number | undefined;
                center?: ({
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } & {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } & Record<Exclude<keyof I["lures"]["activeLure"]["center"], keyof import("./geopoint").Geopoint>, never>) | undefined;
            } & Record<Exclude<keyof I["lures"]["activeLure"], keyof import("./geocircle").Geocircle>, never>) | undefined;
            closestLure?: ({
                radius?: number | undefined;
                center?: {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } | undefined;
            } & {
                radius?: number | undefined;
                center?: ({
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } & {
                    latitude?: number | undefined;
                    longitude?: number | undefined;
                } & Record<Exclude<keyof I["lures"]["closestLure"]["center"], keyof import("./geopoint").Geopoint>, never>) | undefined;
            } & Record<Exclude<keyof I["lures"]["closestLure"], keyof import("./geocircle").Geocircle>, never>) | undefined;
        } & Record<Exclude<keyof I["lures"], keyof Lures>, never>) | undefined;
        userId?: string | undefined;
        entryPoint?: LaunchData_EntryPoint | 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?: import("./user_data").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"]["bitmojiInfo"], keyof import("./user_data").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"]["friendInfo"], keyof import("./user_data").FriendUserInfo>, never>) | undefined;
            zodiac?: import("./user_data").UserData_Zodiac | undefined;
        } & Record<Exclude<keyof I["userData"], keyof UserData>, never>) | undefined;
        persistentStore?: ({
            store?: Uint8Array | undefined;
        } & {
            store?: Uint8Array | undefined;
        } & Record<Exclude<keyof I["persistentStore"], "store">, never>) | undefined;
        launchParams?: ({
            data?: Uint8Array | undefined;
        } & {
            data?: Uint8Array | undefined;
        } & Record<Exclude<keyof I["launchParams"], "data">, never>) | undefined;
        apiDescriptors?: (LaunchData_ApiDescriptor[] & LaunchData_ApiDescriptor[] & Record<Exclude<keyof I["apiDescriptors"], keyof LaunchData_ApiDescriptor[]>, never>) | undefined;
        renderConfig?: LaunchData_RenderConfig | undefined;
        activationSource?: LaunchData_ActivationSource | undefined;
        overridenLaunchTime?: Date | undefined;
    } & Record<Exclude<keyof I, keyof LaunchData>, never>>(object: I): LaunchData;
};
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=launchdata.d.ts.map