import type { AuthClientSignInOptions } from '../types/auth-client';
import type { InternetIdentityConfig } from '../types/internet-identity';
import type { Provider } from '../types/provider';
import { AuthClientProvider, type AuthProviderSignInOptions } from './_auth-client.providers';
/**
 * Internet Identity authentication provider.
 * @class InternetIdentityProvider
 * @implements {AuthProvider}
 */
export declare class InternetIdentityProvider extends AuthClientProvider {
    #private;
    /**
     * Creates an instance of InternetIdentityProvider.
     * @param {InternetIdentityConfig} config - The configuration for Internet Identity.
     */
    constructor({ domain }: InternetIdentityConfig);
    /**
     * Gets the identifier of the provider.
     * @returns {Provider} The identifier of the provider - `internet_identity`.
     */
    get id(): Provider;
    /**
     * Gets the sign-in options for Internet Identity.
     * @param {Pick<SignInOptions, 'windowed'>} options - The sign-in options.
     * @returns {AuthProviderSignInOptions} The sign-in options for Internet Identity.
     */
    signInOptions({ windowed }: Pick<AuthClientSignInOptions, 'windowed'>): AuthProviderSignInOptions;
}
