import { z } from "zod";
/** Arcware Settings. */
export declare const ArcwareSettingsSchema: z.ZodObject<{
    /** Overwrites the Session-Tool and uses the provided session instead. */
    session: z.ZodOptional<z.ZodString>;
    /** Can be used to be added to the request in order to verify access to private projects.
     * For internal use only. => Preview page.
     */
    token: z.ZodOptional<z.ZodString>;
    /** @deprecated in there for legacy use. Can only be used when token is provided. */
    bypass: z.ZodOptional<z.ZodBoolean>;
    /** Handler for server side error messages. */
    errorHandler: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
        type: z.ZodLiteral<"error">;
        code: z.ZodNumber;
        reason: z.ZodString;
        verbosity: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        type?: "error";
        code?: number;
        reason?: string;
        verbosity?: number;
    }, {
        type?: "error";
        code?: number;
        reason?: string;
        verbosity?: number;
    }>], z.ZodUnknown>, z.ZodVoid>>;
    /** Handler for queue events. */
    queueHandler: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
        type: z.ZodLiteral<"queue">;
        queue: z.ZodObject<{
            index: z.ZodOptional<z.ZodNumber>;
            /** Can be used to be added to the request in order to verify access to private projects.
             * For internal use only. => Preview page.
             */
            queueLength: z.ZodOptional<z.ZodNumber>;
            waited: z.ZodOptional<z.ZodNumber>;
            estimatedWaitTime: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
            averageWaitTime: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
            valueType: z.ZodEnum<["milliseconds", "seconds", "minutes", "hours", "days"]>;
        }, "strip", z.ZodTypeAny, {
            index?: number;
            queueLength?: number;
            waited?: number;
            estimatedWaitTime?: number;
            averageWaitTime?: number;
            valueType?: "milliseconds" | "seconds" | "minutes" | "hours" | "days";
        }, {
            index?: number;
            queueLength?: number;
            waited?: number;
            estimatedWaitTime?: number;
            averageWaitTime?: number;
            valueType?: "milliseconds" | "seconds" | "minutes" | "hours" | "days";
        }>;
    }, "strip", z.ZodTypeAny, {
        type?: "queue";
        queue?: {
            index?: number;
            queueLength?: number;
            waited?: number;
            estimatedWaitTime?: number;
            averageWaitTime?: number;
            valueType?: "milliseconds" | "seconds" | "minutes" | "hours" | "days";
        };
    }, {
        type?: "queue";
        queue?: {
            index?: number;
            queueLength?: number;
            waited?: number;
            estimatedWaitTime?: number;
            averageWaitTime?: number;
            valueType?: "milliseconds" | "seconds" | "minutes" | "hours" | "days";
        };
    }>], z.ZodUnknown>, z.ZodVoid>>;
    /** Handler for sessionId message. */
    sessionIdHandler: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodVoid>>;
    /** Handler for love letters.
     * "LoveLetters" are send from backend to the SDK to state what phase the connection currently is in. */
    loveLetterHandler: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
        type: z.ZodLiteral<"letter">;
        reason: z.ZodString;
        code: z.ZodNumber;
        verbosity: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        type?: "letter";
        reason?: string;
        code?: number;
        verbosity?: number;
    }, {
        type?: "letter";
        reason?: string;
        code?: number;
        verbosity?: number;
    }>], z.ZodUnknown>, z.ZodVoid>>;
    /** Show or hide the fullscreen button. */
    fullscreenButton: z.ZodOptional<z.ZodBoolean>;
    /** Show or hide the settings button. */
    settingsButton: z.ZodOptional<z.ZodBoolean>;
    /** Show or hide the info button. */
    infoButton: z.ZodOptional<z.ZodBoolean>;
    /** Show or hide the audio button. */
    audioButton: z.ZodOptional<z.ZodBoolean>;
    /** Show or hide the microphone button. */
    micButton: z.ZodOptional<z.ZodBoolean>;
    /** Show or hide the microphone button. */
    stopButton: z.ZodOptional<z.ZodBoolean>;
    /** Show or hide the connectionStrengthIcon button. */
    connectionStrengthIcon: z.ZodOptional<z.ZodBoolean>;
    /** ShareId, used for sharing your project.
     * Using ArcwareInit will set this required property for you. */
    shareId: z.ZodOptional<z.ZodString>;
    /** Id of your project, only required if your shareId refers to multiple projects.
     * Using ArcwareInit will set this required property for you. */
    projectId: z.ZodOptional<z.ZodString>;
    /** Enable/Disable LoveLetter logging to the console. */
    loveLetterLogging: z.ZodOptional<z.ZodBoolean>;
    /** Enable/Disable Connection Identifier logging to the console. */
    connectionIdentifierLoggingDisabled: z.ZodOptional<z.ZodBoolean>;
    /** Width with which instance should be started */
    startWidth: z.ZodOptional<z.ZodNumber>;
    /** Height with which instance should be started */
    startHeight: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    session?: string;
    token?: string;
    bypass?: boolean;
    errorHandler?: (args_0: {
        type?: "error";
        code?: number;
        reason?: string;
        verbosity?: number;
    }, ...args_1: unknown[]) => void;
    queueHandler?: (args_0: {
        type?: "queue";
        queue?: {
            index?: number;
            queueLength?: number;
            waited?: number;
            estimatedWaitTime?: number;
            averageWaitTime?: number;
            valueType?: "milliseconds" | "seconds" | "minutes" | "hours" | "days";
        };
    }, ...args_1: unknown[]) => void;
    sessionIdHandler?: (args_0: string, ...args_1: unknown[]) => void;
    loveLetterHandler?: (args_0: {
        type?: "letter";
        reason?: string;
        code?: number;
        verbosity?: number;
    }, ...args_1: unknown[]) => void;
    fullscreenButton?: boolean;
    settingsButton?: boolean;
    infoButton?: boolean;
    audioButton?: boolean;
    micButton?: boolean;
    stopButton?: boolean;
    connectionStrengthIcon?: boolean;
    shareId?: string;
    projectId?: string;
    loveLetterLogging?: boolean;
    connectionIdentifierLoggingDisabled?: boolean;
    startWidth?: number;
    startHeight?: number;
}, {
    session?: string;
    token?: string;
    bypass?: boolean;
    errorHandler?: (args_0: {
        type?: "error";
        code?: number;
        reason?: string;
        verbosity?: number;
    }, ...args_1: unknown[]) => void;
    queueHandler?: (args_0: {
        type?: "queue";
        queue?: {
            index?: number;
            queueLength?: number;
            waited?: number;
            estimatedWaitTime?: number;
            averageWaitTime?: number;
            valueType?: "milliseconds" | "seconds" | "minutes" | "hours" | "days";
        };
    }, ...args_1: unknown[]) => void;
    sessionIdHandler?: (args_0: string, ...args_1: unknown[]) => void;
    loveLetterHandler?: (args_0: {
        type?: "letter";
        reason?: string;
        code?: number;
        verbosity?: number;
    }, ...args_1: unknown[]) => void;
    fullscreenButton?: boolean;
    settingsButton?: boolean;
    infoButton?: boolean;
    audioButton?: boolean;
    micButton?: boolean;
    stopButton?: boolean;
    connectionStrengthIcon?: boolean;
    shareId?: string;
    projectId?: string;
    loveLetterLogging?: boolean;
    connectionIdentifierLoggingDisabled?: boolean;
    startWidth?: number;
    startHeight?: number;
}>;
export type Settings = z.infer<typeof ArcwareSettingsSchema>;
