import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { LaunchParams } from "./launch_params";
import { Lures } from "./lures";
import { PersistentStore } from "./persistent_store";
import { Snappable } from "./snappable";
import { UserData } from "./user_data";
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: MessageFns<LaunchData>;
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=launchdata.d.ts.map