import { GoogleAccounts, PromptMomentNotification, CredentialResponse } from './types.cjs';

declare global {
    interface Window {
        google: {
            accounts: GoogleAccounts;
        };
    }
}
type Props = {
    client_id: string;
    auto_select?: boolean;
    cancel_on_tap_outside?: boolean;
    use_fedcm_for_prompt?: boolean;
};
type PromptMoment = {
    skipped: boolean;
    dismissed: boolean;
    momentType: ReturnType<PromptMomentNotification['getMomentType']>;
    dismissedReason: ReturnType<PromptMomentNotification['getDismissedReason']>;
};
type PromptResult = {
    authorized: true;
    credential: CredentialResponse;
} | {
    authorized: false;
    moment: PromptMoment;
};
/** debug: chrome://settings/content/federatedIdentityApi */
declare function prompt({ client_id, auto_select, use_fedcm_for_prompt, cancel_on_tap_outside, }: Props): Promise<PromptResult>;

export { type PromptMoment, type PromptResult, type Props, prompt };
