import { mojo } from '//resources/mojo/mojo/public/js/bindings.js';
import { ActuationTarget as glic_mojom_ActuationTarget, FormFactor as glic_mojom_FormFactor, FreOverride as glic_mojom_FreOverride, InvocationSource as glic_mojom_InvocationSource, Platform as glic_mojom_Platform, AdditionalContext as glic_mojom_AdditionalContext, ConfigInfo as glic_mojom_ConfigInfo, ProfileEnablement as glic_mojom_ProfileEnablement, ZssConfig as glic_mojom_ZssConfig, InvocationPayload as glic_mojom_InvocationPayload, InvokeConversationSelection as glic_mojom_InvokeConversationSelection, InvokeTargetSurface as glic_mojom_InvokeTargetSurface } from './glic.mojom-webui.js';
import { FeatureMode as glic_mojom_FeatureMode } from './glic_enums.mojom-webui.js';
import { TimeDelta as mojoBase_mojom_TimeDelta } from '//resources/mojo/mojo/public/mojom/base/time.mojom-webui.js';
import { Url as url_mojom_Url } from '//resources/mojo/url/mojom/url.mojom-webui.js';
export declare const FreCompletionWaitModeSpec: {
    $: mojo.internal.MojomType;
};
export declare enum FreCompletionWaitMode {
    MIN_VALUE = 0,
    MAX_VALUE = 1,
    kDefault = 0,
    kNever = 1
}
export type InternalsPageHandlerPendingReceiverEndpoint = mojo.internal.interfaceSupport.Endpoint<InternalsPageHandlerPendingReceiver>;
export declare class InternalsPageHandlerPendingReceiver implements mojo.internal.interfaceSupport.PendingReceiver<InternalsPageHandler> {
    handle: mojo.internal.interfaceSupport.Endpoint<InternalsPageHandlerPendingReceiver>;
    constructor(handle: MojoHandle | InternalsPageHandlerPendingReceiverEndpoint);
    bindInBrowser(scope?: string): void;
}
export interface InternalsPageHandlerInterface {
    getInternalsDataPayload(): Promise<{
        internalsData: InternalsDataPayload;
    }>;
    setGuestUrlPresets(autopush: url_mojom_Url, staging: url_mojom_Url, preprod: url_mojom_Url, prod: url_mojom_Url): void;
    triggerInvokeFromInternalsAction(options: TriggerInvokeFromInternalsOptions): Promise<{
        success: boolean;
        errorMessage: string;
    }>;
    setWebContinuityOriginatingHostUrlPreset(webContinuityOriginatingHostUrl: url_mojom_Url): void;
    setShowErrorAllowed(allowed: boolean): void;
    showExperimentalOptIn(): void;
}
export declare class InternalsPageHandlerRemote implements InternalsPageHandlerInterface {
    private proxy;
    $: mojo.internal.interfaceSupport.InterfaceRemoteBaseWrapper<InternalsPageHandlerPendingReceiver>;
    onConnectionError: mojo.internal.interfaceSupport.ConnectionErrorEventRouter;
    constructor(handle?: MojoHandle | InternalsPageHandlerPendingReceiverEndpoint);
    getInternalsDataPayload(): Promise<{
        internalsData: InternalsDataPayload;
    }>;
    setGuestUrlPresets(autopush: url_mojom_Url, staging: url_mojom_Url, preprod: url_mojom_Url, prod: url_mojom_Url): void;
    triggerInvokeFromInternalsAction(options: TriggerInvokeFromInternalsOptions): Promise<{
        success: boolean;
        errorMessage: string;
    }>;
    setWebContinuityOriginatingHostUrlPreset(webContinuityOriginatingHostUrl: url_mojom_Url): void;
    setShowErrorAllowed(allowed: boolean): void;
    showExperimentalOptIn(): void;
}
/**
 * An object which receives request messages for the InternalsPageHandler
 * mojom interface. Must be constructed over an object which implements that
 * interface.
 */
export declare class InternalsPageHandlerReceiver {
    private helper_internal_;
    $: mojo.internal.interfaceSupport.InterfaceReceiverHelper<InternalsPageHandlerRemote, InternalsPageHandlerPendingReceiver>;
    onConnectionError: mojo.internal.interfaceSupport.ConnectionErrorEventRouter;
    constructor(impl: InternalsPageHandlerInterface);
}
export declare class InternalsPageHandler {
    static get $interfaceName(): string;
    /**
     * Returns a remote for this interface which sends messages to the browser.
     * The browser must have an interface request binder registered for this
     * interface and accessible to the calling document's frame.
     */
    static getRemote(): InternalsPageHandlerRemote;
}
/**
 * An object which receives request messages for the InternalsPageHandler
 * mojom interface and dispatches them as callbacks. One callback receiver exists
 * on this object for each message defined in the mojom interface, and each
 * receiver can have any number of listeners added to it.
 */
export declare class InternalsPageHandlerCallbackRouter {
    private helper_internal_;
    $: mojo.internal.interfaceSupport.InterfaceReceiverHelper<InternalsPageHandlerRemote, InternalsPageHandlerPendingReceiver>;
    router_: mojo.internal.interfaceSupport.CallbackRouter;
    getInternalsDataPayload: mojo.internal.interfaceSupport.InterfaceCallbackReceiver<() => any>;
    setGuestUrlPresets: mojo.internal.interfaceSupport.InterfaceCallbackReceiver<(autopush: url_mojom_Url, staging: url_mojom_Url, preprod: url_mojom_Url, prod: url_mojom_Url) => any>;
    triggerInvokeFromInternalsAction: mojo.internal.interfaceSupport.InterfaceCallbackReceiver<(options: TriggerInvokeFromInternalsOptions) => any>;
    setWebContinuityOriginatingHostUrlPreset: mojo.internal.interfaceSupport.InterfaceCallbackReceiver<(webContinuityOriginatingHostUrl: url_mojom_Url) => any>;
    setShowErrorAllowed: mojo.internal.interfaceSupport.InterfaceCallbackReceiver<(allowed: boolean) => any>;
    showExperimentalOptIn: mojo.internal.interfaceSupport.InterfaceCallbackReceiver<() => any>;
    onConnectionError: mojo.internal.interfaceSupport.ConnectionErrorEventRouter;
    constructor();
    /**
     * @param id An ID returned by a prior call to addListener.
     * @return True iff the identified listener was found and removed.
     */
    removeListener(id: number): boolean;
}
export type InternalsPageHandlerFactoryPendingReceiverEndpoint = mojo.internal.interfaceSupport.Endpoint<InternalsPageHandlerFactoryPendingReceiver>;
export declare class InternalsPageHandlerFactoryPendingReceiver implements mojo.internal.interfaceSupport.PendingReceiver<InternalsPageHandlerFactory> {
    handle: mojo.internal.interfaceSupport.Endpoint<InternalsPageHandlerFactoryPendingReceiver>;
    constructor(handle: MojoHandle | InternalsPageHandlerFactoryPendingReceiverEndpoint);
    bindInBrowser(scope?: string): void;
}
export interface InternalsPageHandlerFactoryInterface {
    createInternalsPageHandler(receiver: InternalsPageHandlerPendingReceiver): void;
}
export declare class InternalsPageHandlerFactoryRemote implements InternalsPageHandlerFactoryInterface {
    private proxy;
    $: mojo.internal.interfaceSupport.InterfaceRemoteBaseWrapper<InternalsPageHandlerFactoryPendingReceiver>;
    onConnectionError: mojo.internal.interfaceSupport.ConnectionErrorEventRouter;
    constructor(handle?: MojoHandle | InternalsPageHandlerFactoryPendingReceiverEndpoint);
    createInternalsPageHandler(receiver: InternalsPageHandlerPendingReceiver): void;
}
/**
 * An object which receives request messages for the InternalsPageHandlerFactory
 * mojom interface. Must be constructed over an object which implements that
 * interface.
 */
export declare class InternalsPageHandlerFactoryReceiver {
    private helper_internal_;
    $: mojo.internal.interfaceSupport.InterfaceReceiverHelper<InternalsPageHandlerFactoryRemote, InternalsPageHandlerFactoryPendingReceiver>;
    onConnectionError: mojo.internal.interfaceSupport.ConnectionErrorEventRouter;
    constructor(impl: InternalsPageHandlerFactoryInterface);
}
export declare class InternalsPageHandlerFactory {
    static get $interfaceName(): string;
    /**
     * Returns a remote for this interface which sends messages to the browser.
     * The browser must have an interface request binder registered for this
     * interface and accessible to the calling document's frame.
     */
    static getRemote(): InternalsPageHandlerFactoryRemote;
}
/**
 * An object which receives request messages for the InternalsPageHandlerFactory
 * mojom interface and dispatches them as callbacks. One callback receiver exists
 * on this object for each message defined in the mojom interface, and each
 * receiver can have any number of listeners added to it.
 */
export declare class InternalsPageHandlerFactoryCallbackRouter {
    private helper_internal_;
    $: mojo.internal.interfaceSupport.InterfaceReceiverHelper<InternalsPageHandlerFactoryRemote, InternalsPageHandlerFactoryPendingReceiver>;
    router_: mojo.internal.interfaceSupport.CallbackRouter;
    createInternalsPageHandler: mojo.internal.interfaceSupport.InterfaceCallbackReceiver<(receiver: InternalsPageHandlerPendingReceiver) => any>;
    onConnectionError: mojo.internal.interfaceSupport.ConnectionErrorEventRouter;
    constructor();
    /**
     * @param id An ID returned by a prior call to addListener.
     * @return True iff the identified listener was found and removed.
     */
    removeListener(id: number): boolean;
}
export declare const InternalsDataPayloadSpec: {
    $: mojo.internal.MojomType;
};
export declare const InternalsDebugInfoSpec: {
    $: mojo.internal.MojomType;
};
export declare const TriggerInvokeFromInternalsOptionsSpec: {
    $: mojo.internal.MojomType;
};
export declare const InternalsPageHandler_GetInternalsDataPayload_ParamsSpec: {
    $: mojo.internal.MojomType;
};
export declare const InternalsPageHandler_GetInternalsDataPayload_ResponseParamsSpec: {
    $: mojo.internal.MojomType;
};
export declare const InternalsPageHandler_SetGuestUrlPresets_ParamsSpec: {
    $: mojo.internal.MojomType;
};
export declare const InternalsPageHandler_TriggerInvokeFromInternalsAction_ParamsSpec: {
    $: mojo.internal.MojomType;
};
export declare const InternalsPageHandler_TriggerInvokeFromInternalsAction_ResponseParamsSpec: {
    $: mojo.internal.MojomType;
};
export declare const InternalsPageHandler_SetWebContinuityOriginatingHostUrlPreset_ParamsSpec: {
    $: mojo.internal.MojomType;
};
export declare const InternalsPageHandler_SetShowErrorAllowed_ParamsSpec: {
    $: mojo.internal.MojomType;
};
export declare const InternalsPageHandler_ShowExperimentalOptIn_ParamsSpec: {
    $: mojo.internal.MojomType;
};
export declare const InternalsPageHandlerFactory_CreateInternalsPageHandler_ParamsSpec: {
    $: mojo.internal.MojomType;
};
export interface InternalsDataPayloadMojoType {
    enablement: glic_mojom_ProfileEnablement;
    config: glic_mojom_ConfigInfo;
    showErrorAllowed: boolean;
    experimentalTriggeringEnabled: boolean;
    debugInfo: InternalsDebugInfo;
}
export type InternalsDataPayload = InternalsDataPayloadMojoType;
export interface InternalsDebugInfoMojoType {
    glicActorFeatureEnabled: boolean;
    glicRolloutFeatureEnabled: boolean;
    glicTieredRolloutFeatureEnabled: boolean;
    glicTieredRolloutV2FeatureEnabled: boolean;
    systemRequirementMet: boolean;
    osVersionSupported: boolean;
    anchorEntrypointOverrideActive: boolean;
    primaryAccountNeedsSignedIn: boolean;
    platform: glic_mojom_Platform;
    formFactor: glic_mojom_FormFactor;
    booleanSettings: {
        [key: string]: boolean;
    };
    hotkey: string;
    locale: string;
    permanentCountryCode: string;
    sessionCountryCode: string;
}
export type InternalsDebugInfo = InternalsDebugInfoMojoType;
export interface TriggerInvokeFromInternalsOptionsMojoType {
    invocationSource: glic_mojom_InvocationSource;
    featureMode: (glic_mojom_FeatureMode | null);
    disableZss: boolean;
    autoSubmit: boolean;
    waitForPanelOpen: boolean;
    showPanel: (boolean | null);
    prompts: string[];
    additionalContext: (glic_mojom_AdditionalContext | null);
    conversation: glic_mojom_InvokeConversationSelection;
    freOverride: glic_mojom_FreOverride;
    zssConfig: (glic_mojom_ZssConfig | null);
    skillId: (string | null);
    errorMessage: (string | null);
    timeout: (mojoBase_mojom_TimeDelta | null);
    freCompletionWaitMode: FreCompletionWaitMode;
    actuationTarget: glic_mojom_ActuationTarget;
    surface: glic_mojom_InvokeTargetSurface;
    payload: (glic_mojom_InvocationPayload | null);
}
export type TriggerInvokeFromInternalsOptions = TriggerInvokeFromInternalsOptionsMojoType;
export interface InternalsPageHandler_GetInternalsDataPayload_ParamsMojoType {
}
export type InternalsPageHandler_GetInternalsDataPayload_Params = InternalsPageHandler_GetInternalsDataPayload_ParamsMojoType;
export interface InternalsPageHandler_GetInternalsDataPayload_ResponseParamsMojoType {
    internalsData: InternalsDataPayload;
}
export type InternalsPageHandler_GetInternalsDataPayload_ResponseParams = InternalsPageHandler_GetInternalsDataPayload_ResponseParamsMojoType;
export interface InternalsPageHandler_SetGuestUrlPresets_ParamsMojoType {
    autopush: url_mojom_Url;
    staging: url_mojom_Url;
    preprod: url_mojom_Url;
    prod: url_mojom_Url;
}
export type InternalsPageHandler_SetGuestUrlPresets_Params = InternalsPageHandler_SetGuestUrlPresets_ParamsMojoType;
export interface InternalsPageHandler_TriggerInvokeFromInternalsAction_ParamsMojoType {
    options: TriggerInvokeFromInternalsOptions;
}
export type InternalsPageHandler_TriggerInvokeFromInternalsAction_Params = InternalsPageHandler_TriggerInvokeFromInternalsAction_ParamsMojoType;
export interface InternalsPageHandler_TriggerInvokeFromInternalsAction_ResponseParamsMojoType {
    success: boolean;
    errorMessage: string;
}
export type InternalsPageHandler_TriggerInvokeFromInternalsAction_ResponseParams = InternalsPageHandler_TriggerInvokeFromInternalsAction_ResponseParamsMojoType;
export interface InternalsPageHandler_SetWebContinuityOriginatingHostUrlPreset_ParamsMojoType {
    webContinuityOriginatingHostUrl: url_mojom_Url;
}
export type InternalsPageHandler_SetWebContinuityOriginatingHostUrlPreset_Params = InternalsPageHandler_SetWebContinuityOriginatingHostUrlPreset_ParamsMojoType;
export interface InternalsPageHandler_SetShowErrorAllowed_ParamsMojoType {
    allowed: boolean;
}
export type InternalsPageHandler_SetShowErrorAllowed_Params = InternalsPageHandler_SetShowErrorAllowed_ParamsMojoType;
export interface InternalsPageHandler_ShowExperimentalOptIn_ParamsMojoType {
}
export type InternalsPageHandler_ShowExperimentalOptIn_Params = InternalsPageHandler_ShowExperimentalOptIn_ParamsMojoType;
export interface InternalsPageHandlerFactory_CreateInternalsPageHandler_ParamsMojoType {
    receiver: InternalsPageHandlerPendingReceiver;
}
export type InternalsPageHandlerFactory_CreateInternalsPageHandler_Params = InternalsPageHandlerFactory_CreateInternalsPageHandler_ParamsMojoType;
