import { SignerModuleInterface } from "../core/SignerModule";
export declare enum ClaimTopic {
    KYC = 1,
    BASIC_IDENTITY = 10101000100001,
    CONTACT_ADDRESS = 10101000100002,
    SOVEREIGN_IDENTITY = 10101000100003,
    COUNTRY = 10101000300002,
    BANK_ACCOUNTS = 10101000300005

}
export declare enum ClaimScheme {
    SOME = 1
}
export declare enum ClaimStatus {
    EXPECTED = "EXPECTED",
    READY = "READY",
    PENDING = "PENDING",
    CONFIRMED = "CONFIRMED",
    REVOKED = "REVOKED"
}
export interface ClaimData {
    address?: string;
    data?: string;
    hash?: string;
    emissionDate?: Date;
    id?: string;
    issuanceDate?: Date;
    issuer?: string;
    publicData?: object;
    privateData?: object;
    scheme?: number;
    signature?: string;
    status?: ClaimStatus;
    topic?: number;
    uri?: string;
}
export interface ClaimObject extends ClaimData {
    generateHash(topic?: ClaimTopic, issuanceDate?: Date, publicData?: object, privateData?: object): string;
    sign(signer?: SignerModuleInterface): Promise<string>;
}
