import { Address } from '@btc-vision/transaction';
import { BlockWitnesses, IBlockWitness, IBlockWitnessAPI, RawBlockWitnessAPI } from './interfaces/IBlockWitness.js';
export declare class BlockWitnessAPI implements IBlockWitnessAPI {
    readonly signature: Uint8Array;
    readonly timestamp: number;
    readonly proofs: readonly Uint8Array[];
    readonly identity?: Uint8Array;
    readonly publicKey?: Address;
    constructor(data: RawBlockWitnessAPI);
}
export declare class BlockWitness implements IBlockWitness {
    blockNumber: bigint;
    readonly witnesses: readonly BlockWitnessAPI[];
    constructor(data: {
        blockNumber: string | bigint;
        witnesses: RawBlockWitnessAPI[];
    });
}
export declare function parseBlockWitnesses(rawWitnesses: Array<{
    blockNumber: string;
    witnesses: RawBlockWitnessAPI[];
}>): BlockWitnesses;
