import { VerifiableCredential } from './VCTypes';
export type Statement = ComputationStatement | DataStatement | GovernanceStatement | MetadataStatement | SigstoreStatement | StorageStatement | VcStatement;
export declare const RegistrationTypes: {
    readonly Computation: "ComputationRegistration";
    readonly Data: "DataRegistration";
    readonly Did: "DidRegistration";
    readonly Governance: "GovernanceRegistration";
    readonly Metadata: "MetadataRegistration";
    readonly Storage: "StorageRegistration";
    readonly Credential: "CredentialRegistration";
    readonly Sigstore: "SigstoreRegistration";
};
export declare function StatementToJSON(value: Statement): {
    "@context": string;
    "@id": string;
    "@type": string;
    data: string;
    registeredBy: string;
    timestamp: string;
} | {
    "@context": string;
    "@id": string;
    "@type": string;
    computation: string | undefined;
    executedOn: string | undefined;
    input: string;
    operatedBy: string | undefined;
    output: string;
    registeredBy: string;
    timestamp: string;
} | {
    "@context": string;
    "@id": string;
    "@type": string;
    metadata: string;
    registeredBy: string;
    subject: string;
    timestamp: string;
} | {
    "@context": string;
    "@id": string;
    "@type": string;
    document: string;
    registeredBy: string;
    subject: string;
    timestamp: string;
} | undefined;
export interface ComputationStatement {
    context: string;
    id: string;
    type: string;
    computation?: string;
    executedOn?: string;
    input: string;
    operatedBy?: string;
    output: string;
    registeredBy: string;
    timestamp: string;
}
export declare function ComputationStatementFromJSON(json: any): any;
export declare function ComputationStatementToJSON(value: ComputationStatement): {
    "@context": string;
    "@id": string;
    "@type": string;
    computation: string | undefined;
    executedOn: string | undefined;
    input: string;
    operatedBy: string | undefined;
    output: string;
    registeredBy: string;
    timestamp: string;
} | undefined;
export interface DataStatement {
    context: string;
    id: string;
    type: string;
    data: string;
    registeredBy: string;
    timestamp: string;
}
export declare function DataStatementFromJSON(json: any): any;
export interface MetadataStatement {
    context: string;
    id: string;
    type: string;
    metadata: string;
    registeredBy: string;
    subject: string;
    timestamp: string;
}
export declare function MetadataStatementFromJSON(json: any): any;
export declare function MetadataStatementToJSON(value: MetadataStatement): {
    "@context": string;
    "@id": string;
    "@type": string;
    metadata: string;
    registeredBy: string;
    subject: string;
    timestamp: string;
};
export interface StorageStatement {
    context: string;
    id: string;
    type: string;
    data: string;
    operatedBy: string;
    registeredBy: string;
    storedOn: string;
    timestamp: string;
}
export declare function StorageStatementFromJSON(json: any): any;
export interface VcStatement {
    context: string;
    id: string;
    type: string;
    credential: VerifiableCredential;
    registeredBy: string;
    timestamp: string;
}
export declare function VcStatementFromJSON(json: any): any;
export interface SigstoreStatement {
    context: string;
    id: string;
    type: string;
    subject: string;
    sigstoreBundle: string;
    registeredBy: string;
    timestamp: string;
}
export declare function SigstoreStatementFromJSON(json: any): any;
export declare function SigstoreStatementToJSON(value: SigstoreStatement): {
    "@context": string;
    "@id": string;
    "@type": string;
    subject: string;
    sigstoreBundle: string;
    registeredBy: string;
    timestamp: string;
};
export interface SigstoreBundle {
    dsseEnvelope: {
        payload: string;
        payloadType: string;
        signatures: Array<{
            keyid: string;
            sig: string;
        }>;
    };
    mediaType: string;
    verificationMaterial: {
        publicKey: {
            hint: string;
        };
        tlogEntries: Array<any>;
    };
}
export interface GovernanceStatement {
    context: string;
    id: string;
    type: string;
    document: string;
    registeredBy: string;
    subject: string;
    timestamp: string;
}
export declare function GovernanceStatementFromJSON(json: any): any;
export declare function GovernanceStatementToJSON(value: GovernanceStatement): {
    "@context": string;
    "@id": string;
    "@type": string;
    document: string;
    registeredBy: string;
    subject: string;
    timestamp: string;
};
