/**
 * Node.js Provider Implementations
 *
 * Wraps existing Node.js implementations to work with the provider-based core.
 * This maintains backward compatibility while enabling the new architecture.
 */
import { CryptoProvider, ClockProvider, FetchProvider, StorageProvider, NonceCacheProvider, IdentityProvider, type AgentIdentity } from '@kya-os/mcp-i-runtime';
/**
 * Node.js Crypto Provider using built-in crypto module
 */
export declare class NodeCryptoProvider extends CryptoProvider {
    sign(data: Uint8Array, privateKeyBase64: string): Promise<Uint8Array>;
    verify(data: Uint8Array, signature: Uint8Array, publicKeyBase64: string): Promise<boolean>;
    generateKeyPair(): Promise<{
        privateKey: string;
        publicKey: string;
    }>;
    hash(data: Uint8Array): Promise<string>;
    randomBytes(length: number): Promise<Uint8Array>;
}
/**
 * Node.js Clock Provider
 */
export declare class NodeClockProvider extends ClockProvider {
    now(): number;
    isWithinSkew(timestamp: number, skewSeconds: number): boolean;
    hasExpired(expiresAt: number): boolean;
    calculateExpiry(ttlSeconds: number): number;
    format(timestamp: number): string;
}
/**
 * Node.js Fetch Provider using axios
 */
export declare class NodeFetchProvider extends FetchProvider {
    resolveDID(did: string): Promise<any>;
    fetchStatusList(url: string): Promise<any>;
    fetchDelegationChain(_id: string): Promise<any[]>;
    fetch(url: string, options?: any): Promise<Response>;
}
/**
 * File System Storage Provider
 */
export declare class FileStorageProvider extends StorageProvider {
    private basePath;
    constructor(basePath: string);
    get(key: string): Promise<string | null>;
    set(key: string, value: string): Promise<void>;
    delete(key: string): Promise<void>;
    exists(key: string): Promise<boolean>;
    list(prefix?: string): Promise<string[]>;
}
/**
 * File System Identity Provider
 */
export declare class FileIdentityProvider extends IdentityProvider {
    private basePath;
    private cryptoProvider;
    private identityFile;
    constructor(basePath: string, cryptoProvider: CryptoProvider);
    getIdentity(): Promise<AgentIdentity>;
    saveIdentity(identity: AgentIdentity): Promise<void>;
    rotateKeys(): Promise<AgentIdentity>;
    deleteIdentity(): Promise<void>;
    private generateDIDFromPublicKey;
}
/**
 * Get nonce cache provider based on environment
 */
export declare function getNonceCacheProvider(): NonceCacheProvider;
