/**
 * UX Helpers - Type Definitions
 *
 * Shared types for UX utilities across all PRIVATE.ME packages.
 */
/**
 * Options for paginating a collection.
 */
export interface PaginationOptions {
    /** Page number (1-based). Defaults to 1. */
    readonly page?: number;
    /** Items per page. Defaults to 50, max 100. */
    readonly limit?: number;
}
/**
 * Paginated result with metadata.
 */
export interface PaginatedResult<T> {
    /** Items for the current page. */
    readonly data: readonly T[];
    /** Pagination metadata. */
    readonly pagination: {
        readonly page: number;
        readonly limit: number;
        readonly total: number;
        readonly totalPages: number;
        readonly hasNext: boolean;
        readonly hasPrev: boolean;
    };
}
/**
 * Options for searching a collection.
 */
export interface SearchOptions {
    /** Search query string. */
    readonly query: string;
    /** Fields to search in. If not specified, searches all string fields. */
    readonly fields?: readonly string[];
    /** Enable fuzzy matching (case-insensitive substring). Defaults to true. */
    readonly fuzzy?: boolean;
    /** Maximum number of results to return. Defaults to unlimited. */
    readonly limit?: number;
}
/**
 * Callback for progress updates.
 *
 * @param status Human-readable status message
 * @param percent Progress percentage (0-100), optional
 */
export type ProgressCallback = (status: string, percent?: number) => void;
/**
 * Detailed error information for ACI-level operations.
 */
export interface ACIErrorDetail {
    /** Machine-readable error code (e.g., 'INVALID_DID'). */
    readonly code: string;
    /** Human-readable error message. */
    readonly message: string;
    /** Optional hint for resolving the error. */
    readonly hint?: string;
    /** Actionable step to resolve the error (imperative verb form). */
    readonly suggested_action?: string;
    /** Field name that caused the error, if applicable. */
    readonly field?: string;
    /** Documentation URL for more information. */
    readonly docs?: string;
    /** Error severity level. */
    readonly severity?: 'info' | 'warning' | 'error' | 'critical';
}
/**
 * Multiple format representations for structured data.
 *
 * Used for operations that return rich information (not primitives like IDs or hashes).
 * Each format is optimized for a different use case:
 * - multiline: Human display (terminal, UI)
 * - singleline: Logs (one line per event)
 * - json: APIs (machine-readable)
 * - markdown: Documentation (rendered output)
 */
export interface FormattedOutput {
    /** Multi-line format for human display. */
    readonly multiline: string;
    /** Single-line format for logs. */
    readonly singleline: string;
    /** JSON string for APIs. */
    readonly json: string;
    /** Markdown format for documentation. */
    readonly markdown: string;
}
/**
 * Error with multiple format representations.
 *
 * Extends ACIErrorDetail with structured formats for different use cases.
 */
export interface FormattedError extends ACIErrorDetail {
    /** Multiple format representations. */
    readonly formats: FormattedOutput;
}
/**
 * Options for creating a detailed error.
 */
export interface ACIErrorOptions {
    readonly hint?: string;
    readonly suggested_action?: string;
    readonly field?: string;
    readonly docs?: string;
    readonly severity?: 'info' | 'warning' | 'error' | 'critical';
}
//# sourceMappingURL=types.d.ts.map