import { Action, BuilderIntent } from '@contentauth/c2pa-types';
import { ManifestAndAssetBytes } from '../builder.js';
import { SerializableSigningPayload } from '../signer.js';
declare const createTx: (worker?: Worker) => {
    initWorker: (module: WebAssembly.Module, settings?: string | undefined) => Promise<void>;
    reader_fromBlob: (format: string, blob: Blob, contextJson?: string | undefined) => Promise<number>;
    reader_fromBlobFragment: (format: string, init: Blob, fragment: Blob, contextJson?: string | undefined) => Promise<number>;
    reader_activeLabel: (readerId: number) => Promise<string | null>;
    reader_manifestStore: (readerId: number) => Promise<any>;
    reader_activeManifest: (readerId: number) => Promise<any>;
    reader_json: (readerId: number) => Promise<string>;
    reader_crJson: (readerId: number) => Promise<string>;
    reader_resourceToBytes: (readerId: number, uri: string) => Promise<Uint8Array<ArrayBuffer>>;
    reader_free: (readerId: number) => Promise<void>;
    builder_new: (contextJson?: string | undefined) => Promise<number>;
    builder_fromJson: (json: string, contextJson?: string | undefined) => Promise<number>;
    builder_fromArchive: (archive: Blob, contextJson?: string | undefined) => Promise<number>;
    builder_setIntent: (builderId: number, intent: BuilderIntent) => Promise<void>;
    builder_addAction: (builderId: number, action: Action) => Promise<void>;
    builder_setRemoteUrl: (builderId: number, url: string) => Promise<void>;
    builder_setNoEmbed: (builderId: number, noEmbed: boolean) => Promise<void>;
    builder_setThumbnailFromBlob: (builderId: number, format: string, blob: Blob) => Promise<void>;
    builder_addIngredient: (builderId: number, json: string) => Promise<void>;
    builder_addIngredientFromBlob: (builderId: number, json: string, format: string, blob: Blob) => Promise<void>;
    builder_addResourceFromBlob: (builderId: number, id: string, blob: Blob) => Promise<void>;
    builder_getDefinition: (builderId: number) => Promise<any>;
    builder_toArchive: (builderId: number) => Promise<Uint8Array<ArrayBuffer>>;
    builder_sign: (builderId: number, requestId: number, payload: SerializableSigningPayload, format: string, blob: Blob) => Promise<Uint8Array<ArrayBuffer>>;
    builder_signAndGetManifestBytes: (builderId: number, requestId: number, payload: SerializableSigningPayload, format: string, blob: Blob) => Promise<ManifestAndAssetBytes>;
    builder_free: (builderId: number) => Promise<void>;
}, rx: (receivers: {
    initWorker: (module: WebAssembly.Module, settings?: string) => void;
    reader_fromBlob: (format: string, blob: Blob, contextJson?: string) => Promise<number>;
    reader_fromBlobFragment: (format: string, init: Blob, fragment: Blob, contextJson?: string) => Promise<number>;
    reader_activeLabel: (readerId: number) => string | null;
    reader_manifestStore: (readerId: number) => any;
    reader_activeManifest: (readerId: number) => any;
    reader_json: (readerId: number) => string;
    reader_crJson: (readerId: number) => string;
    reader_resourceToBytes: (readerId: number, uri: string) => Uint8Array<ArrayBuffer>;
    reader_free: (readerId: number) => void;
    builder_new: (contextJson?: string) => number;
    builder_fromJson: (json: string, contextJson?: string) => number;
    builder_fromArchive: (archive: Blob, contextJson?: string) => number;
    builder_setIntent: (builderId: number, intent: BuilderIntent) => void;
    builder_addAction: (builderId: number, action: Action) => void;
    builder_setRemoteUrl: (builderId: number, url: string) => void;
    builder_setNoEmbed: (builderId: number, noEmbed: boolean) => void;
    builder_setThumbnailFromBlob: (builderId: number, format: string, blob: Blob) => void;
    builder_addIngredient: (builderId: number, json: string) => void;
    builder_addIngredientFromBlob: (builderId: number, json: string, format: string, blob: Blob) => Promise<void>;
    builder_addResourceFromBlob: (builderId: number, id: string, blob: Blob) => void;
    builder_getDefinition: (builderId: number) => any;
    builder_toArchive: (builderId: number) => Uint8Array<ArrayBuffer>;
    builder_sign: (builderId: number, requestId: number, payload: SerializableSigningPayload, format: string, blob: Blob) => Promise<Uint8Array<ArrayBuffer>>;
    builder_signAndGetManifestBytes: (builderId: number, requestId: number, payload: SerializableSigningPayload, format: string, blob: Blob) => Promise<ManifestAndAssetBytes>;
    builder_free: (builderId: number) => void;
}, worker?: Worker) => void;
declare const createWorkerTx: (worker?: Worker) => {
    sign: (requestId: number, bytes: Uint8Array<ArrayBuffer>, reserveSize: number) => Promise<Uint8Array<ArrayBuffer>>;
}, workerRx: (receivers: {
    sign: (requestId: number, bytes: Uint8Array<ArrayBuffer>, reserveSize: number) => Promise<Uint8Array<ArrayBuffer>>;
}, worker?: Worker) => void;
export { createTx, rx, createWorkerTx, workerRx };
//# sourceMappingURL=rpc.d.ts.map