/**
 * Database schema types and queries
 */
export interface User {
    id: string;
    email: string;
    name: string;
    did?: string;
    roles?: string[];
    created_at: Date;
    updated_at: Date;
}
export interface Document {
    id: string;
    title: string;
    type: string;
    content?: string;
    file_url?: string;
    storage_key?: string;
    user_id?: string;
    status: string;
    classification?: string;
    ocr_text?: string;
    extracted_data?: unknown;
    created_at: Date;
    updated_at: Date;
}
export interface Deal {
    id: string;
    name: string;
    status: string;
    dataroom_id?: string;
    created_by?: string;
    created_at: Date;
    updated_at: Date;
}
export interface VerifiableCredential {
    id: string;
    credential_id: string;
    issuer_did: string;
    subject_did: string;
    credential_type: string[];
    credential_subject: unknown;
    issuance_date: Date;
    expiration_date?: Date;
    proof?: unknown;
    revoked: boolean;
    created_at: Date;
    updated_at: Date;
}
export interface Signature {
    id: string;
    document_id?: string;
    signer_did: string;
    signature_data: string;
    signature_timestamp: Date;
    signature_type: string;
    created_at: Date;
}
export interface LedgerEntry {
    id: string;
    account_id: string;
    type: 'debit' | 'credit';
    amount: number;
    currency: string;
    description?: string;
    reference?: string;
    created_at: Date;
}
export interface Payment {
    id: string;
    amount: number;
    currency: string;
    status: string;
    payment_method: string;
    transaction_id?: string;
    gateway_response?: unknown;
    created_at: Date;
    updated_at: Date;
}
export declare function createUser(user: Omit<User, 'id' | 'created_at' | 'updated_at'>): Promise<User>;
export declare function getUserById(id: string): Promise<User | null>;
export declare function createDocument(doc: Omit<Document, 'id' | 'created_at' | 'updated_at'>): Promise<Document>;
export declare function getDocumentById(id: string): Promise<Document | null>;
export declare function updateDocument(id: string, updates: Partial<Pick<Document, 'status' | 'classification' | 'ocr_text' | 'extracted_data'>>): Promise<Document>;
export declare function createDeal(deal: Omit<Deal, 'id' | 'created_at' | 'updated_at'>): Promise<Deal>;
export declare function getDealById(id: string): Promise<Deal | null>;
export declare function createDealDocument(dealId: string, documentId: string, storageKey: string, accessLevel?: string): Promise<void>;
export declare function createVerifiableCredential(vc: Omit<VerifiableCredential, 'id' | 'created_at' | 'updated_at' | 'revoked'>): Promise<VerifiableCredential>;
export declare function getVerifiableCredentialById(credentialId: string): Promise<VerifiableCredential | null>;
export declare function revokeVerifiableCredential(credentialId: string): Promise<void>;
export declare function createSignature(signature: Omit<Signature, 'id' | 'created_at'>): Promise<Signature>;
export declare function createLedgerEntry(entry: Omit<LedgerEntry, 'id' | 'created_at'>): Promise<LedgerEntry>;
export declare function createPayment(payment: Omit<Payment, 'id' | 'created_at' | 'updated_at'>): Promise<Payment>;
export declare function updatePaymentStatus(id: string, status: string, transactionId?: string, gatewayResponse?: unknown): Promise<Payment>;
export declare function createWorkflowState(workflowId: string, workflowType: string, documentId: string, state: unknown): Promise<void>;
export declare function getWorkflowState(workflowId: string): Promise<unknown>;
//# sourceMappingURL=schema.d.ts.map