import { type ReactNode } from 'react'; /** Curated imperative handle for agent / external automation. */ export interface PrivacyLockHandle { isLocked: () => boolean; lock: () => void; unlock: () => void; } export interface PrivacyLockProps { /** Controlled open state. Pair with `onOpenChange`. */ open?: boolean; /** Uncontrolled initial state. Ignored when `open` is provided. */ defaultOpen?: boolean; /** Fires whenever the dialog opens or closes — trigger click, action button, etc. */ onOpenChange?: (open: boolean) => void; /** Fires when the "Unlock screen" button is activated. Dialog closes automatically. */ onUnlock?: () => void; /** Fires when "Account page" is activated. Button is omitted when undefined. Dialog closes automatically. */ onAccountPage?: () => void; /** Fires when "Log out" is activated. Button is omitted when undefined. Dialog closes automatically. */ onSignOut?: () => void; /** Override the trigger icon. Default: `lucide-react` ``. */ triggerIcon?: ReactNode; /** Accessible name for the trigger. Default: t('privacyLock.triggerAriaLabel'). */ triggerAriaLabel?: string; /** Tooltip for the trigger. Default: t('privacyLock.triggerTooltip'). */ triggerTooltip?: string; /** Accessible title of the dialog (visually hidden). Default: t('privacyLock.title'). */ title?: string; /** Visible supporting text under the action buttons. Default: t('privacyLock.description'). */ description?: string; /** Label for the "Unlock screen" button. Default: t('privacyLock.unlock'). */ unlockLabel?: string; /** Label for the "Account page" button. Default: t('privacyLock.accountPage'). */ accountPageLabel?: string; /** Label for the "Log out" button. Default: t('privacyLock.signOut'). */ signOutLabel?: string; /** Extra classes on the trigger `IconButton`. */ className?: string; } export declare const PrivacyLock: import("react").ForwardRefExoticComponent>; //# sourceMappingURL=privacy-lock.d.ts.map