export type SigningMode = "sign" | "verify" | "both";
export interface SignedFile {
    file: File;
    signature: string;
    address: string;
    identityKey: string;
    timestamp: Date;
    status: "pending" | "signed" | "verified" | "invalid" | "error";
    error?: string;
}
export interface FileSigningResult {
    success: boolean;
    signature?: string;
    address?: string;
    fileHash?: string;
    metadata?: Record<string, unknown>;
    error?: Error;
}
export interface FileVerificationResult {
    valid: boolean;
    address?: string;
    identityKey?: string;
    fileHash?: string;
    error?: string;
}
export interface BapFileSignerProps {
    /**
     * The BAP instance for signing
     */
    bapInstance: import("./identity.js").ExtendedBAP;
    /**
     * Mode of operation
     */
    mode?: SigningMode;
    /**
     * Callback when files are signed
     */
    onFilesSigned?: (results: SignedFile[]) => void;
    /**
     * Callback when file is verified
     */
    onFileVerified?: (result: FileVerificationResult) => void;
    /**
     * Whether to anchor signatures on blockchain
     */
    blockchainAnchor?: boolean;
    /**
     * Maximum file size in bytes (default: 10MB)
     */
    maxFileSize?: number;
    /**
     * Accepted file types
     */
    acceptedTypes?: string[];
    /**
     * Theme variant
     */
    variant?: "surface" | "ghost" | "classic";
    /**
     * Component size
     */
    size?: "1" | "2" | "3";
}
export interface SigningOptions {
    blockchainAnchor?: boolean;
    includePubKey?: boolean;
    protocol?: "bap" | "raw";
}
export interface UseBapSigningOptions {
    autoVerify?: boolean;
}
//# sourceMappingURL=signing.d.ts.map