/**
 * General Request/Response Types and Interfaces
 */
import { AuthorizationParams } from '../../types/authorization-params';
/**
 * Authorization request with type-safe parameters
 */
export interface AuthorizationRequest {
    /** PKP token ID */
    pkpId: string;
    /** Action being authorized (derived from params.type) */
    action: string;
    /** Type-safe authorization parameters (discriminated union) */
    params: AuthorizationParams;
    /** Authorization signature */
    signature: string;
    /** Request timestamp */
    timestamp: number;
}
/**
 * Result of an authorization check
 */
export interface AuthorizationResult {
    /** Whether the authorization was successful */
    authorized: boolean;
    /** PKP token ID that was checked */
    pkpId: string;
    /** Error message if authorization failed */
    error?: string;
    /** Additional details about the authorization (type-safe per action) */
    details?: unknown;
}
export interface ValidationRequest {
    data: any;
    rules: string[];
    context?: Record<string, any>;
}
export interface ConfirmationResult {
    confirmed: boolean;
    confirmations: number;
    blockHeight?: number;
    txHash?: string;
    error?: string;
}
export interface BTCDepositRequest {
    positionId: string;
}
export interface BTCDepositResult {
    success: boolean;
    positionId?: string;
    vaultBalance?: string;
    hasBalance?: boolean;
    validationResponse?: any;
    error?: string;
}
