import type { ActorTaskInterruptReason, ActorTaskPauseReason, ActorTaskState, ActorTaskStopReason, AutofillSuggestion, CancelActionsResult, Credential, FormFillingRequest, FormFillingResponse, Journal, NavigationConfirmationRequest, NavigationConfirmationResponse, SelectAutofillSuggestionsDialogRequest, SelectAutofillSuggestionsDialogResponse, SelectCredentialDialogRequest, SelectCredentialDialogResponse, TabContextOptions, TaskOptions, UserConfirmationDialogRequest, UserConfirmationDialogResponse, GmailOtpOptInRequest, GmailOtpOptInResponse } from '../../glic_api/glic_api.js';
import type { ResumeActorTaskResultPrivate, RgbaImage, TabContextResultPrivate, TabDataPrivate } from '../request_types.js';
export declare const ActorHostDef: {
    readonly name: "ActorHost";
    readonly methods: readonly [{
        readonly name: "getContextForActorFromTab";
        readonly request: {
            tabId: string;
            options: TabContextOptions;
        };
        readonly response: {
            tabContextResult: TabContextResultPrivate;
        };
        readonly histogram: {
            readonly id: 11;
        };
    }, {
        readonly name: "createTask";
        readonly request: {
            taskOptions?: TaskOptions;
        };
        readonly response: {
            taskId: number;
        };
        readonly histogram: {
            readonly id: 60;
        };
    }, {
        readonly name: "performActions";
        readonly request: {
            actions: ArrayBuffer;
        };
        readonly response: {
            actionsResult: ArrayBuffer;
        };
        readonly histogram: {
            readonly id: 61;
        };
    }, {
        readonly name: "cancelActions";
        readonly request: {
            taskId: number;
        };
        readonly response: {
            result: CancelActionsResult;
        };
        readonly histogram: {
            readonly id: 85;
        };
    }, {
        readonly name: "stopActorTask";
        readonly request: {
            taskId: number;
            stopReason: ActorTaskStopReason;
        };
        readonly histogram: {
            readonly id: 13;
        };
    }, {
        readonly name: "pauseActorTask";
        readonly request: {
            taskId: number;
            pauseReason: ActorTaskPauseReason;
            tabId: string;
        };
        readonly histogram: {
            readonly id: 14;
        };
    }, {
        readonly name: "resumeActorTask";
        readonly request: {
            taskId: number;
            tabContextOptions: TabContextOptions;
        };
        readonly response: {
            resumeActorTaskResult: ResumeActorTaskResultPrivate;
        };
        readonly histogram: {
            readonly id: 15;
        };
    }, {
        readonly name: "interruptActorTask";
        readonly request: {
            taskId: number;
            interruptReason?: ActorTaskInterruptReason;
        };
        readonly histogram: {
            readonly id: 74;
        };
    }, {
        readonly name: "uninterruptActorTask";
        readonly request: {
            taskId: number;
        };
        readonly histogram: {
            readonly id: 75;
        };
    }, {
        readonly name: "createActorTab";
        readonly request: {
            taskId: number;
            options: {
                initiatorTabId?: string;
                initiatorWindowId?: string;
                openInBackground?: boolean;
            };
        };
        readonly response: {
            tabData?: TabDataPrivate;
        };
        readonly histogram: {
            readonly id: 77;
        };
    }, {
        readonly name: "logBeginAsyncEvent";
        readonly request: {
            asyncEventId: number;
            taskId: number;
            event: string;
            details: string;
        };
        readonly histogram: {
            readonly id: 30;
        };
    }, {
        readonly name: "logEndAsyncEvent";
        readonly request: {
            asyncEventId: number;
            details: string;
        };
        readonly histogram: {
            readonly id: 31;
        };
    }, {
        readonly name: "logInstantEvent";
        readonly request: {
            taskId: number;
            event: string;
            details: string;
        };
        readonly histogram: {
            readonly id: 32;
        };
    }, {
        readonly name: "journalClear";
        readonly histogram: {
            readonly id: 33;
        };
    }, {
        readonly name: "journalSnapshot";
        readonly request: {
            clear: boolean;
        };
        readonly response: {
            journal: Journal;
        };
        readonly histogram: {
            readonly id: 34;
        };
    }, {
        readonly name: "journalStart";
        readonly request: {
            maxBytes: number;
            captureScreenshots: boolean;
        };
        readonly histogram: {
            readonly id: 35;
        };
    }, {
        readonly name: "journalStop";
        readonly histogram: {
            readonly id: 36;
        };
    }, {
        readonly name: "journalRecordFeedback";
        readonly request: {
            positive: boolean;
            reason: string;
        };
        readonly histogram: {
            readonly id: 37;
        };
    }, {
        readonly name: "autofillSuggestionDialogOnFormPresented";
        readonly request: {
            taskId: number;
            params: {
                formFillingRequestIndex: number;
            };
        };
        readonly histogram: {
            readonly id: 87;
        };
    }, {
        readonly name: "autofillSuggestionDialogOnFormPreviewChanged";
        readonly request: {
            taskId: number;
            params: {
                formFillingRequestIndex: number;
                response?: FormFillingResponse;
            };
        };
        readonly histogram: {
            readonly id: 88;
        };
    }, {
        readonly name: "autofillSuggestionDialogOnFormConfirmed";
        readonly request: {
            taskId: number;
            params: {
                formFillingRequestIndex: number;
                response: FormFillingResponse;
            };
        };
        readonly histogram: {
            readonly id: 89;
        };
    }];
};
export type ActorHost = typeof ActorHostDef;
export declare const ActorClientDef: {
    readonly name: "ActorClient";
    readonly methods: readonly [{
        readonly name: "notifyActorTaskStateChanged";
        readonly request: {
            taskId: number;
            state: ActorTaskState;
        };
    }, {
        readonly name: "requestToShowDialog";
        readonly request: {
            request: SelectCredentialDialogRequestPrivate;
        };
        readonly response: {
            response: SelectCredentialDialogResponsePrivate;
        };
    }, {
        readonly name: "requestToShowConfirmationDialog";
        readonly request: {
            request: UserConfirmationDialogRequestPrivate;
        };
        readonly response: {
            response: UserConfirmationDialogResponsePrivate;
        };
    }, {
        readonly name: "requestToConfirmNavigation";
        readonly request: {
            request: NavigationConfirmationRequestPrivate;
        };
        readonly response: {
            response: NavigationConfirmationResponsePrivate;
        };
    }, {
        readonly name: "requestToShowAutofillSuggestionsDialog";
        readonly request: {
            request: SelectAutofillSuggestionsDialogRequestPrivate;
        };
        readonly response: {
            response: SelectAutofillSuggestionsDialogResponsePrivate;
        };
    }, {
        readonly name: "requestToShowGmailOtpOptInDialog";
        readonly request: {
            request: GmailOtpOptInRequestPrivate;
        };
        readonly response: {
            response: GmailOtpOptInResponsePrivate;
        };
        readonly backgroundAllowed: true;
    }];
};
export type ActorClient = typeof ActorClientDef;
export declare interface CredentialPrivate extends Omit<Credential, 'getIcon' | 'getAccountPicture'> {
    accountPicture?: RgbaImage;
}
export declare interface FormFillingRequestPrivate extends Omit<FormFillingRequest, 'suggestions'> {
    suggestions: AutofillSuggestionPrivate[];
}
export declare interface AutofillSuggestionPrivate extends Omit<AutofillSuggestion, 'getIcon'> {
    icon?: RgbaImage;
}
export declare interface SelectCredentialDialogRequestPrivate extends Omit<SelectCredentialDialogRequest, 'onDialogClosed' | 'icons' | 'credentials'> {
    icons: Map<string, RgbaImage>;
    credentials: CredentialPrivate[];
}
export declare interface SelectCredentialDialogResponsePrivate extends SelectCredentialDialogResponse {
    errorReason?: SelectCredentialDialogErrorReason;
}
export declare interface SelectAutofillSuggestionsDialogRequestPrivate extends Omit<SelectAutofillSuggestionsDialogRequest, 'onDialogClosed' | 'onFormPresented' | 'onFormPreviewChanged' | 'onFormConfirmed' | 'formFillingRequests'> {
    taskId: number;
    formFillingRequests: FormFillingRequestPrivate[];
}
export declare interface UserConfirmationDialogRequestPrivate extends Omit<UserConfirmationDialogRequest, 'onDialogClosed'> {
}
export declare interface SelectAutofillSuggestionsDialogResponsePrivate extends SelectAutofillSuggestionsDialogResponse {
    taskId: number;
    errorReason?: SelectAutofillSuggestionsDialogErrorReason;
}
export declare interface NavigationConfirmationRequestPrivate extends Omit<NavigationConfirmationRequest, 'onConfirmationDecision'> {
}
export declare interface NavigationConfirmationResponsePrivate extends NavigationConfirmationResponse {
    errorReason?: ConfirmationRequestErrorReason;
}
export declare enum ConfirmationRequestErrorReason {
    REQUEST_PROMISE_NO_SUBSCRIBER = 0,
    PREEMPTED_BY_NEW_REQUEST = 1
}
export declare interface UserConfirmationDialogResponsePrivate extends UserConfirmationDialogResponse {
    errorReason?: ConfirmationRequestErrorReason;
}
/** Reasons why the credential selection dialog request failed. */
export declare enum SelectCredentialDialogErrorReason {
    DIALOG_PROMISE_NO_SUBSCRIBER = 0
}
/** Reasons why the autofill suggestion selection dialog request failed. */
export declare enum SelectAutofillSuggestionsDialogErrorReason {
    DIALOG_PROMISE_NO_SUBSCRIBER = 0,
    MISMATCHED_TASK_ID = 1,
    NO_ACTOR_TASK_DELEGATE = 2
}
export declare interface GmailOtpOptInRequestPrivate extends Omit<GmailOtpOptInRequest, 'onDialogClosed'> {
}
export declare interface GmailOtpOptInResponsePrivate extends GmailOtpOptInResponse {
    errorReason?: GmailOtpOptInErrorReason;
}
export declare enum GmailOtpOptInErrorReason {
    REQUEST_PROMISE_NO_SUBSCRIBER = 0
}
