import { PublicKey, Signature } from 'o1js';
export { SignaturePublicKey, SignaturePublicKeyList, SignaturePublicKeyMatrix };
declare const SignaturePublicKey_base: (new (value: {
    signature: Signature;
    publicKey: PublicKey;
}) => {
    signature: Signature;
    publicKey: PublicKey;
}) & {
    _isStruct: true;
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
    signature: Signature;
    publicKey: PublicKey;
}, {
    signature: any;
    publicKey: {
        x: bigint;
        isOdd: boolean;
    };
}>, "fromFields"> & {
    fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => {
        signature: Signature;
        publicKey: PublicKey;
    };
} & {
    fromValue: (value: {
        signature: Signature | {
            r: import("o1js").Field | bigint;
            s: import("o1js").Scalar | bigint;
        };
        publicKey: PublicKey | {
            x: import("o1js").Field | bigint;
            isOdd: import("o1js").Bool | boolean;
        };
    }) => {
        signature: Signature;
        publicKey: PublicKey;
    };
    toInput: (x: {
        signature: Signature;
        publicKey: PublicKey;
    }) => {
        fields?: import("o1js").Field[] | undefined;
        packed?: [import("o1js").Field, number][] | undefined;
    };
    toJSON: (x: {
        signature: Signature;
        publicKey: PublicKey;
    }) => {
        signature: any;
        publicKey: string;
    };
    fromJSON: (x: {
        signature: any;
        publicKey: string;
    }) => {
        signature: Signature;
        publicKey: PublicKey;
    };
    empty: () => {
        signature: Signature;
        publicKey: PublicKey;
    };
};
declare class SignaturePublicKey extends SignaturePublicKey_base {
}
declare const SignaturePublicKeyList_base: (new (value: {
    list: SignaturePublicKey[];
}) => {
    list: SignaturePublicKey[];
}) & {
    _isStruct: true;
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
    list: SignaturePublicKey[];
}, {
    list: {
        signature: any;
        publicKey: {
            x: bigint;
            isOdd: boolean;
        };
    }[];
}>, "fromFields"> & {
    fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => {
        list: SignaturePublicKey[];
    };
} & {
    fromValue: (value: {
        list: SignaturePublicKey[] | {
            signature: any;
            publicKey: {
                x: bigint;
                isOdd: boolean;
            };
        }[];
    }) => {
        list: SignaturePublicKey[];
    };
    toInput: (x: {
        list: SignaturePublicKey[];
    }) => {
        fields?: import("o1js").Field[] | undefined;
        packed?: [import("o1js").Field, number][] | undefined;
    };
    toJSON: (x: {
        list: SignaturePublicKey[];
    }) => {
        list: {
            signature: any;
            publicKey: string;
        }[];
    };
    fromJSON: (x: {
        list: {
            signature: any;
            publicKey: string;
        }[];
    }) => {
        list: SignaturePublicKey[];
    };
    empty: () => {
        list: SignaturePublicKey[];
    };
};
declare class SignaturePublicKeyList extends SignaturePublicKeyList_base {
    static fromArray(arr: Array<[Signature, PublicKey]>): SignaturePublicKeyList;
    toJSON(): {
        signature: string;
        publicKey: string;
    }[];
}
declare const SignaturePublicKeyMatrix_base: (new (value: {
    matrix: SignaturePublicKeyList[];
}) => {
    matrix: SignaturePublicKeyList[];
}) & {
    _isStruct: true;
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
    matrix: SignaturePublicKeyList[];
}, {
    matrix: {
        list: {
            signature: any;
            publicKey: {
                x: bigint;
                isOdd: boolean;
            };
        }[];
    }[];
}>, "fromFields"> & {
    fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => {
        matrix: SignaturePublicKeyList[];
    };
} & {
    fromValue: (value: {
        matrix: SignaturePublicKeyList[] | {
            list: {
                signature: any;
                publicKey: {
                    x: bigint;
                    isOdd: boolean;
                };
            }[];
        }[];
    }) => {
        matrix: SignaturePublicKeyList[];
    };
    toInput: (x: {
        matrix: SignaturePublicKeyList[];
    }) => {
        fields?: import("o1js").Field[] | undefined;
        packed?: [import("o1js").Field, number][] | undefined;
    };
    toJSON: (x: {
        matrix: SignaturePublicKeyList[];
    }) => {
        matrix: {
            list: {
                signature: any;
                publicKey: string;
            }[];
        }[];
    };
    fromJSON: (x: {
        matrix: {
            list: {
                signature: any;
                publicKey: string;
            }[];
        }[];
    }) => {
        matrix: SignaturePublicKeyList[];
    };
    empty: () => {
        matrix: SignaturePublicKeyList[];
    };
};
declare class SignaturePublicKeyMatrix extends SignaturePublicKeyMatrix_base {
    static fromArray(arr: Array<Array<[Signature, PublicKey]>>): SignaturePublicKeyMatrix;
    static fromSignaturePublicKeyLists(lists: SignaturePublicKeyList[]): SignaturePublicKeyMatrix;
    toJSON(): {
        signature: string;
        publicKey: string;
    }[][];
}
