import type { RestClient, SoqlClient } from '@cclabsnz/sf-core'; export declare const API_LOG_TYPES: readonly ['RestApi', 'BulkApi2', 'GraphQlQueryExecution', 'AuraRequest']; export type ApiLogType = (typeof API_LOG_TYPES)[number]; export interface ApiLogs { csv: Record; /** Log files the query listed. */ listed: number; /** Log files that could not be downloaded or read; their usage is missing from `csv`. */ failed: { id: string; eventType: string; error: string; }[]; } /** Thrown when the EventLogFile listing itself fails: there is no usage to analyze at all. */ export declare class ApiLogListingError extends Error { readonly permission: boolean; constructor(message: string, permission: boolean); } /** * Lists and downloads the API EventLogFiles for the last `since` days. Read-only: one SOQL query and * one REST GET per file. A failed listing throws (an empty result would read as "no usage"); a failed * download is recorded in `failed` so the caller can flag the analysis as incomplete. */ export declare function downloadApiLogs(deps: { soql: SoqlClient; rest: RestClient; }, since: number): Promise; export interface LogCoverage { /** Set when there is no usable data at all: the command must stop rather than report. */ fatal?: string; /** Set when some files failed: the analysis runs but is flagged incomplete. */ incomplete?: string; /** Informational: the window simply had no API logs. */ empty?: string; } /** Decides whether downloaded logs are complete, partial, or unusable. Never treats a failure as "no usage". */ export declare function assessLogCoverage(logs: ApiLogs, since: number): LogCoverage; //# sourceMappingURL=apiLogSource.d.ts.map