import type { CoreMessage, HardwareUiInteractionMeta, ProtocolV2UiCompletion } from '../../events'; import type { Device } from '../../device/Device'; export type ProtocolV2InteractionDescriptor = { request: 'button' | 'pin'; source: 'method-lifecycle'; reason: 'change-pin' | 'device-unlock' | 'settings-page' | 'address-confirmation' | 'public-key-confirmation' | 'signing-confirmation' | 'device-management'; completion: ProtocolV2UiCompletion; deviceOnly: true; page?: string | number; operation?: string; }; type ProtocolV2InteractionMethod = { name?: string; params?: unknown; payload?: unknown; protocolV2UiInteraction?: ProtocolV2InteractionDescriptor; }; type InteractionDevice = Pick & Partial>; type PostMessage = (message: CoreMessage) => void; export declare const isProtocolV2UiEnabled: (method: { protocolV2UiMode?: 'auto' | 'none'; }) => boolean; export declare const resolveProtocolV2UiInteraction: (method: ProtocolV2InteractionMethod) => ProtocolV2InteractionDescriptor | undefined; export declare class ProtocolV2UiInteractionCoordinator { private readonly device; private readonly postMessage; private methodInteraction?; private currentPhase?; private opened; private closed; constructor(device: InteractionDevice, postMessage: PostMessage); enterMethodInteraction(interaction?: ProtocolV2InteractionDescriptor): void; enterUnlockInteraction(method?: string): HardwareUiInteractionMeta | undefined; resumeMethodInteraction(): void; close(options?: { ensureOperationClose?: boolean; protocolV2Operation?: boolean; }): boolean; private emit; } export {}; //# sourceMappingURL=uiInteraction.d.ts.map