import type { Persona } from './test-data-generator.js';
import type { DataEncodedRecordsWriteMessage, Dwn, ProtocolDefinition, ProtocolRuleSet } from '../../src/index.js';
import { RecordsWrite } from '../../src/index.js';
export type AudienceControlWrite = {
    dataBytes: Uint8Array;
    keyId: string;
    payload: Record<string, unknown>;
    recordsWrite: RecordsWrite;
};
export declare function installEncryptedProtocol(dwn: Dwn, author: Persona, protocolDefinition: ProtocolDefinition): Promise<ProtocolDefinition>;
export declare function createAudienceControlWrite(input: {
    author: Persona;
    contextId?: string;
    dateCreated?: string;
    delegatedGrant?: DataEncodedRecordsWriteMessage;
    messageTimestamp?: string;
    payloadOverrides?: Record<string, unknown>;
    permissionGrantId?: string;
    protocol: string;
    protocolRole?: string;
    published?: boolean;
    recordId?: string;
    rolePath: string;
    roleRuleSet: ProtocolRuleSet;
    sealKeyId?: string;
    signer?: Persona;
    tags?: Record<string, string>;
}): Promise<AudienceControlWrite>;
export declare function createDeliveryControlWrite(input: {
    author: Persona;
    contextId?: string;
    keyId: string;
    protocol: string;
    recipient: string;
    recipientAuthority: string;
    rolePath: string;
    roleRuleSet: ProtocolRuleSet;
}): Promise<{
    dataBytes: Uint8Array;
    recordsWrite: RecordsWrite;
}>;
export declare function processControlWrite(dwn: Dwn, tenant: string, controlWrite: {
    dataBytes: Uint8Array;
    recordsWrite: RecordsWrite;
}): Promise<void>;
//# sourceMappingURL=encryption-control-test-utils.d.ts.map