export declare enum ViewerMessageType {
    CONNECTION_SUCCESS = "CONNECTION_SUCCESS",
    INIT = "INIT",
    REQUEST_SAVE = "REQUEST_SAVE",
    REQUEST_CLOSE = "REQUEST_CLOSE",
    REQUEST_INITIAL_DATA = "REQUEST_INITIAL_DATA",
    SET_DIRTY = "SET_DIRTY",
    SEND_CLOSE = "SEND_CLOSE",
    SEND_EXCEPTION = "SEND_EXCEPTION"
}
export declare enum CommonClientMessageType {
    CONNECT = "CONNECT"
}
export declare enum ViewerClientMessageType {
    REQUEST_CLOSE = "REQUEST_CLOSE",
    REQUEST_SAVE = "REQUEST_SAVE",
    DATA_CHANGE = "DATA_CHANGE",
    SAVE_ERROR = "SAVE_ERROR",
    SAVE_SUCCESS = "SAVE_SUCCESS",
    INIT_ACK = "INIT_ACK"
}
export declare enum CardClientMessageType {
    DATA_CHANGE = "DATA_CHANGE",
    CFS_ERROR = "CFS_ERROR",
    CFS_WRITE_SUCCESS = "CFS_WRITE_SUCCESS",
    CFS_FILE_DATA = "CFS_FILE_DATA",
    CFS_WRITE_FILE_ACK = "CFS_WRITE_FILE_ACK",
    CFS_READ_FILE_ACK = "CFS_READ_FILE_ACK",
    CFS_DELETE_FILE_ACK = "CFS_DELETE_FILE_ACK",
    CFS_LIST_FILES_ACK = "CFS_LIST_FILES_ACK",
    INIT_ACK = "INIT_ACK",
    INIT_ERROR = "INIT_ERROR",
    AF1_DATA_TOKEN_ACK = "AF1_DATA_TOKEN_ACK",
    ERROR = "ERROR",
    REFRESH = "REFRESH",
    LOGGING_ENABLE = "LOGGING_ENABLE",
    LOGGING_DISABLE = "LOGGING_DISABLE",
    LOGGING_CLEAR = "LOGGING_CLEAR",
    LOGGING_GET = "LOGGING_GET"
}
export declare enum CardMessageType {
    APP_READY = "APP_READY",
    INIT = "INIT",
    CFS_READ_FILE = "CFS_READ_FILE",
    CFS_WRITE_FILE = "CFS_WRITE_FILE",
    CFS_DELETE_FILE = "CFS_DELETE_FILE",
    CFS_LIST_FILES = "CFS_LIST_FILES",
    FILE_DIRTY = "FILE_DIRTY",
    OPEN_DEEPLINK = "OPEN_DEEPLINK",
    AF1_DATA_TOKEN = "AF1_DATA_TOKEN",
    LOGGING_GET_RET = "LOGGING_GET_RET"
}
export interface HostInfo {
    type: string;
    os?: string;
    os_ver?: string;
    app_type?: string;
    app_ver?: string;
    [key: string]: any;
}
export interface HostCapabilities {
    ver?: string;
    card_fs?: {
        ver?: string;
        [key: string]: any;
    } | null;
    [key: string]: any;
}
export type HostDetails = HostInfo & {
    capabilities?: HostCapabilities;
};
export declare class DomeEmbeddedAppSdk {
    private readonly targetOrigin;
    protected isAppReady: boolean;
    protected port2: MessagePort | null;
    protected runtimeHost: "android" | "ios" | "webapp" | "unknown";
    private parentHostDetails;
    protected parentCapabilities: HostCapabilities | null;
    private readonly handleDeepLinkClick;
    constructor();
    private detectHost;
    private setupDeepLinkInterception;
    protected emitDeepLink(href: string): boolean;
    protected updateParentContext(host?: HostInfo | null, capabilities?: HostCapabilities | null): void;
    getHost(): HostDetails;
    protected sendMessage(type: ViewerMessageType | CardMessageType, data?: any, binaryData?: ArrayBuffer | ArrayBufferView): void;
    protected sendAppInit(): void;
    protected safeInvoke<T extends Record<string, any>>(eventName: keyof T, handlerObj: T, data?: any): void;
    protected setupParentConnection(): Promise<void>;
    private setupMessageChannelListener;
    private notifyConnectionSuccess;
    private handlePortMessage;
    protected handleMessage(type: string, data: any): void;
    protected decodeCborBuffer(buffer: ArrayBuffer | ArrayBufferView): any | null;
    protected encodeCborMessage(payload: Record<string, unknown>): ArrayBuffer;
    private toUint8Array;
    private normalizeBinaryPayload;
    private buildVersionedMessage;
    private copyBufferView;
}
