import { ButtonProps } from '../primitives/button';
import { WebAuthnRegistrationOptions, WebAuthnAuthenticationOptions, RegistrationCredential, AuthenticationCredential } from '../hooks/usePasskey';
export interface PasskeyButtonProps extends Omit<ButtonProps, 'onClick' | 'disabled' | 'loading'> {
    /** Whether to authenticate with an existing passkey or register a new one. */
    mode?: 'authenticate' | 'register';
    /** Options forwarded to the underlying WebAuthn call. */
    passkeyOptions?: WebAuthnAuthenticationOptions | WebAuthnRegistrationOptions;
    /** Called with the credential on success. */
    onSuccess?: (credential: AuthenticationCredential | RegistrationCredential) => void;
    /** Called when the WebAuthn operation throws. */
    onError?: (error: unknown) => void;
}
export declare function PasskeyButton({ mode, passkeyOptions, onSuccess, onError, children, ...buttonProps }: PasskeyButtonProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=passkey-button.d.ts.map