import type { FlowRequestAction, DecryptedFlowRequest } from '../crypto/types'; export interface FlowRequest { readonly version: string; readonly action: FlowRequestAction; readonly screen?: string; readonly data: Record; readonly flowToken: string; readonly flowTokenSignature?: string; respond(): FlowResponseBuilder; } export declare class FlowResponseBuilder { private readonly flowToken; private responseData; constructor(flowToken: string); goToScreen(screenId: string, data?: Record): this; close(params?: Record): this; withError(errorMessage: string): this; build(): object; } export type FlowRequestHandler = (request: FlowRequest) => FlowResponseBuilder | Promise; export type FlowErrorHandler = (error: Error, request?: FlowRequest) => void; export interface FlowEndpointOptions { privateKey: string; appSecret?: string; onRequest: FlowRequestHandler; onError?: FlowErrorHandler; acknowledgeErrors?: boolean; } export declare function createFlowRequest(decrypted: DecryptedFlowRequest): FlowRequest; export declare const HEALTH_CHECK_RESPONSE: { data: { status: string; }; }; export declare const ERROR_ACK_RESPONSE: { data: { acknowledged: boolean; }; };