import type { AgentPassport, Delegation, ActionReceipt } from '../types/passport.js';
import type { VerifiableCredential, VerifiablePresentation } from '../types/did.js';
/**
 * Create a Verifiable Credential for an Agent Passport.
 * The passport holder proves their identity and capabilities.
 */
export declare function passportToVC(passport: AgentPassport, issuerPrivateKey: string, issuerPublicKey: string): Promise<VerifiableCredential>;
/**
 * Create a Verifiable Credential for a Delegation.
 * Proves that authority was granted from delegator to delegate.
 */
export declare function delegationToVC(delegation: Delegation, delegatorPrivateKey: string): Promise<VerifiableCredential>;
/**
 * Create a Verifiable Credential for a Floor Attestation.
 * Proves an agent has attested to the Values Floor.
 */
export declare function floorAttestationToVC(attestation: {
    agentId: string;
    floorVersion: string;
    principles: string[];
    extensions?: string[];
    attestedAt: string;
}, agentPublicKey: string, agentPrivateKey: string): Promise<VerifiableCredential>;
/**
 * Create a Verifiable Credential for an Action Receipt.
 * Provides non-repudiable proof of agent work.
 */
export declare function receiptToVC(receipt: ActionReceipt, agentPrivateKey: string): Promise<VerifiableCredential>;
/**
 * Create a Verifiable Presentation from a set of credentials.
 * The holder selectively presents credentials to a verifier.
 */
export declare function createPresentation(credentials: VerifiableCredential[], holderPrivateKey: string, holderPublicKey: string, options?: {
    challenge?: string;
    domain?: string;
}): Promise<VerifiablePresentation>;
/**
 * Verify a Verifiable Credential's proof.
 * Checks Ed25519 signature against the issuer's public key.
 */
export declare function verifyVC(credential: VerifiableCredential): Promise<{
    valid: boolean;
    issuerDID: string;
    error?: string;
}>;
/**
 * Verify a Verifiable Presentation and all contained credentials.
 */
export declare function verifyPresentation(presentation: VerifiablePresentation): Promise<{
    valid: boolean;
    holderDID: string;
    credentialResults: Array<{
        id: string;
        valid: boolean;
        error?: string;
    }>;
    error?: string;
}>;
//# sourceMappingURL=vc.d.ts.map