import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
export declare const ServerEventBatch: MessageFns<ServerEventBatch>;
export declare const ServerRequestAllUpdates: MessageFns<ServerRequestAllUpdates>;
/** Hardcoded because it is not part of EventSchema.java but is a part of manual event.proto */
export interface ServerEventBatch {
    serverUploadTs: number;
    /** @deprecated */
    serverAllUpdateEvents: ServerRequestAllUpdates[];
    maxSequenceIdOnInstance: string;
    serverEvents: ServerEvent[];
}
export interface ServerRequestAllUpdates {
}
export declare const ServerEvent: MessageFns<ServerEvent>;
export declare const ServerEventData: MessageFns<ServerEventData>;
export interface ServerEvent {
    eventName: string;
    serverTs: number;
    userId: string;
    userAgent: string;
    country: string;
    city: string;
    region: string;
    eventId: string;
    instanceId: string;
    sequenceId: string;
    osType: string;
    osVersion: string;
    appVersion: string;
    appBuild: string;
    serverUploadTs: number;
    eventTime: number;
    serverReceiptTime: number;
    maxSequenceIdOnInstance: string;
    userGuid: string;
    collection: Collection;
    serviceId: string;
    appType: AppType;
    spectrumInstanceId: string;
    spectrumSequenceId: string;
    eventData: ServerEventData | undefined;
}
export interface ServerEventData {
    cameraKitException?: CameraKitException | undefined;
    cameraKitLensSpin?: CameraKitLensSpin | undefined;
    cameraKitAssetDownload?: CameraKitAssetDownload | undefined;
    cameraKitLensContentValidationFailed?: CameraKitLensContentValidationFailed | undefined;
    cameraKitLensDownload?: CameraKitLensDownload | undefined;
    cameraKitAssetValidationFailed?: CameraKitAssetValidationFailed | undefined;
    cameraKitSession?: CameraKitSession | undefined;
    cameraKitWebLensSwipe?: CameraKitWebLensSwipe | undefined;
    cameraKitWebBenchmarkComplete?: CameraKitWebBenchmarkComplete | undefined;
    cameraKitLegalPrompt?: CameraKitLegalPrompt | undefined;
}
export declare enum AppType {
    IOS_NATIVE = 0,
    IOS_WEB_DESKTOP = 1,
    IOS_WEB_MOBILE = 2,
    ANDROID_NATIVE = 3,
    ANDROID_WEB_DESKTOP = 4,
    ANDROID_WEB_MOBILE = 5,
    OSX_WEB_DESKTOP = 6,
    OSX_WEB_MOBILE = 7,
    WINDOWS_WEB_DESKTOP = 8,
    WINDOWS_WEB_MOBILE = 9,
    LINUX_WEB_DESKTOP = 10,
    LINUX_WEB_MOBILE = 11,
    LENSSTUDIO = 12,
    SNAPCAMERA = 13,
    WEB_DESKTOP = 14,
    WEB_MOBILE = 15,
    LENSSTUDIO_REMAKE = 16,
    UNRECOGNIZED = -1
}
export declare enum Collection {
    COLLECTION_UNUSED = 0,
    GAE = 1,
    GCE_M = 2,
    GCE_S = 3,
    GCE_T = 4,
    GKE_M = 5,
    GKE_S = 6,
    GKE_T = 7,
    LOCAL = 8,
    GCE_ST = 9,
    GKE_ST = 10,
    GCE_C = 11,
    GCE_SC = 12,
    GCE_TC = 13,
    GCE_TSC = 14,
    GKE_C = 15,
    GKE_SC = 16,
    GKE_TC = 17,
    GKE_TSC = 18,
    GKE_W = 19,
    GKE_WT = 20,
    GKE_WC = 21,
    GKE_WSC = 22,
    UNRECOGNIZED = -1
}
export declare const CameraKitLensSpin: MessageFns<CameraKitLensSpin>;
export interface CameraKitLensSpin {
    cameraKitEventBase: CameraKitEventBase | undefined;
    lensId: string;
    viewTimeSec: number;
    lensGroupId: string;
}
export declare const CameraKitWebLensSwipe: MessageFns<CameraKitWebLensSwipe>;
export interface CameraKitWebLensSwipe {
    cameraKitEventBase: CameraKitEventBase | undefined;
    performanceCluster: string;
    webglRendererInfo: string;
    lensId: string;
    lensFrameProcessingTimeMsAvg: number;
    lensFrameProcessingTimeMsStd: number;
    viewTimeSec: number;
    recordingTimeSec: number;
    applyDelaySec: number;
    avgFps: number;
    isLensFirstWithinDay: boolean;
    isLensFirstWithinMonth: boolean;
    lensGroupId: string;
}
export declare const CameraKitLensDownload: MessageFns<CameraKitLensDownload>;
export interface CameraKitLensDownload {
    cameraKitEventBase: CameraKitEventBase | undefined;
    lensId: string;
    automaticDownload: boolean;
    downloadTimeSec: number;
    sizeByte: string;
}
export declare const CameraKitAssetDownload: MessageFns<CameraKitAssetDownload>;
export interface CameraKitAssetDownload {
    cameraKitEventBase: CameraKitEventBase | undefined;
    automaticDownload: boolean;
    downloadTimeSec: number;
    sizeByte: string;
    assetId: string;
}
export declare const CameraKitException: MessageFns<CameraKitException>;
export interface CameraKitException {
    cameraKitEventBase: CameraKitEventBase | undefined;
    lensId: string;
    type: string;
    reason: string;
}
export declare const CameraKitSession: MessageFns<CameraKitSession>;
export interface CameraKitSession {
    cameraKitEventBase: CameraKitEventBase | undefined;
    dailySessionBucket: DailySessionBucket;
    isFirstWithinMonth: boolean;
    day: string;
    month: string;
    year: string;
}
export declare enum DailySessionBucket {
    NO_SESSION_BUCKET = 0,
    ONE_SESSION = 1,
    TWO_SESSION = 2,
    THREE_SESSION = 3,
    FOUR_SESSION = 4,
    FIVE_SESSION = 5,
    SIX_SESSION = 6,
    SEVEN_SESSION = 7,
    EIGHT_SESSION = 8,
    NINE_SESSION = 9,
    TEN_OR_MORE_SESSION = 10,
    UNRECOGNIZED = -1
}
export declare const CameraKitLensContentValidationFailed: MessageFns<CameraKitLensContentValidationFailed>;
export interface CameraKitLensContentValidationFailed {
    cameraKitEventBase: CameraKitEventBase | undefined;
    lensId: string;
}
export declare const CameraKitAssetValidationFailed: MessageFns<CameraKitAssetValidationFailed>;
export interface CameraKitAssetValidationFailed {
    cameraKitEventBase: CameraKitEventBase | undefined;
    assetId: string;
}
export declare const CameraKitWebBenchmarkComplete: MessageFns<CameraKitWebBenchmarkComplete>;
export interface CameraKitWebBenchmarkComplete {
    cameraKitEventBase: CameraKitEventBase | undefined;
    benchmarkName: string;
    benchmarkValue: number;
    performanceCluster: string;
    webglRendererInfo: string;
}
export declare const CameraKitLegalPrompt: MessageFns<CameraKitLegalPrompt>;
export declare const CameraKitEventBase: MessageFns<CameraKitEventBase>;
export declare const KitEventBase: MessageFns<KitEventBase>;
export interface CameraKitLegalPrompt {
    cameraKitEventBase: CameraKitEventBase | undefined;
    legalPromptId: string;
    legalPromptResult: CameraKitLegalPromptResult;
}
export declare enum CameraKitLegalPromptResult {
    CAMERA_KIT_LEGAL_PROMPT_MISSING = 0,
    CAMERA_KIT_LEGAL_PROMPT_ACCEPTED = 1,
    CAMERA_KIT_LEGAL_PROMPT_DISMISSED = 2,
    UNRECOGNIZED = -1
}
export interface CameraKitEventBase {
    kitEventBase: KitEventBase | undefined;
    deviceCluster: string;
    cameraKitVersion: string;
    lensCoreVersion: string;
    deviceModel: string;
    cameraKitVariant: CameraKitVariant;
    cameraKitFlavor: CameraKitFlavor;
    appId: string;
    deviceConnectivity: CameraKitConnectivityType;
    sessionId: string;
    appVendorUuid: string;
    rankingRequestId: string;
    cameraKitEnvironment: CameraKitEnvironment;
    partnerUuid: string;
}
export declare enum CameraKitEnvironment {
    CAMERA_KIT_ENVIRONMENT_UNKNOWN = 0,
    CAMERA_KIT_ENVIRONMENT_STAGING = 1,
    CAMERA_KIT_ENVIRONMENT_PRODUCTION = 2,
    UNRECOGNIZED = -1
}
export declare enum CameraKitConnectivityType {
    CAMERA_KIT_CONNECTIVITY_TYPE_UNKNOWN = 0,
    CAMERA_KIT_CONNECTIVITY_TYPE_WIFI = 1,
    CAMERA_KIT_CONNECTIVITY_TYPE_MOBILE = 2,
    CAMERA_KIT_CONNECTIVITY_TYPE_UNREACHABLE = 3,
    CAMERA_KIT_CONNECTIVITY_TYPE_BLUETOOTH = 4,
    UNRECOGNIZED = -1
}
export declare enum CameraKitFlavor {
    CAMERA_KIT_FLAVOR_UNKNOWN = 0,
    CAMERA_KIT_FLAVOR_DEBUG = 1,
    CAMERA_KIT_FLAVOR_RELEASE = 2,
    UNRECOGNIZED = -1
}
export declare enum CameraKitVariant {
    CAMERA_KIT_VARIANT_UNKNOWN = 0,
    CAMERA_KIT_VARIANT_PARTNER = 1,
    CAMERA_KIT_VARIANT_PUBLIC = 2,
    UNRECOGNIZED = -1
}
export interface KitEventBase {
    oauthClientId: string;
    locale: string;
    kitUserAgent: string;
    ipAddress: string;
    osMinorVersion: string;
    kitVariant: KitType;
    kitVariantVersion: string;
    kitClientTimestampMillis: string;
    clientSequenceId: string;
    maxClientSequenceIdOnInstance: string;
    targetArchitecture: string;
    runningWithDebuggerAttached: boolean;
    runningInTests: boolean;
    runningInSimulator: boolean;
    isAppPrerelease: boolean;
    kitAppId: string;
    kitSessionId: string;
    kitPluginType: KitPluginType;
    isFromReactNativePlugin: boolean;
}
export declare enum KitPluginType {
    NO_PLUGIN = 0,
    UNITY = 1,
    UNRECOGNIZED = -1
}
export declare enum KitType {
    UNKNOWN_KIT_TYPE = 0,
    BITMOJI_KIT = 1,
    CREATIVE_KIT = 2,
    LOGIN_KIT = 3,
    STORY_KIT = 4,
    CAMERA_KIT = 5,
    SHOP_KIT = 6,
    EULA_KIT = 7,
    PAYMENTS_KIT = 8,
    INVITE_KIT = 9,
    CAMERA_KIT_WEB = 10,
    UNRECOGNIZED = -1
}
export interface MessageFns<T> {
    encode(message: T, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): T;
    fromJSON(object: any): T;
    toJSON(message: T): unknown;
    create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
    fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
}
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 {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
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;
};
type KeysOfUnion<T> = T extends T ? keyof T : never;
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export {};
//# sourceMappingURL=cameraKitEvents.d.ts.map