import { PerformanceAnalyticsKey } from './types';
declare type Awaited<T> = T extends PromiseLike<infer U> ? U : T;
export declare function asyncPerformanceAnalyticsDecorator<T extends (...args: any[]) => Promise<any>>(measurableMethod: T, analyticsKey: PerformanceAnalyticsKey): (...args: Parameters<T>) => Promise<Awaited<ReturnType<T>>>;
export declare function performanceAnalyticsDecorator<T extends (...args: any[]) => any>(measurableMethod: T, analyticsKey: PerformanceAnalyticsKey): (...args: Parameters<T>) => ReturnType<T>;
declare const measurableInitLocalCache: (__0?: {
    customRulesPath?: string | undefined;
} | undefined) => Promise<void>;
declare const measurableParseFiles: (filesData: import("./types").IacFileData[], options?: import("./types").IaCTestFlags | undefined) => Promise<import("./types").ParsingResults>;
declare const measurableloadContentForFiles: (filePaths: string[]) => Promise<import("./types").IacFileData[]>;
declare const measurableScanFiles: (parsedFiles: import("./types").IacFileParsed[]) => Promise<{
    scannedFiles: import("./types").IacFileScanResult[];
    failedScans: import("../../../../../lib/types").IacFileInDirectory[];
}>;
declare const measurableGetIacOrgSettings: (publicOrgId?: string | undefined) => Promise<import("./types").IacOrgSettings>;
declare const measurableApplyCustomSeverities: (scannedFiles: import("./types").IacFileScanResult[], customPolicies: Record<string, {
    severity?: string | undefined;
}>) => Promise<import("./types").IacFileScanResult[]>;
declare const measurableCleanLocalCache: () => void;
declare const measurableFormatScanResultsV1: (scanResults: import("./types").IacFileScanResult[], options: import("./types").IaCTestFlags, meta: import("./types").TestMeta, projectPublicIds: Record<string, string>, gitRemoteUrl?: string | undefined) => import("./types").FormattedResult[];
declare const measurableFormatScanResultsV2: (scanResults: import("./types").IacFileScanResult[], options: import("./types").IaCTestFlags, meta: import("./types").TestMeta, projectPublicIds: Record<string, string>, porjectRoot: string, gitRemoteUrl?: string | undefined) => import("./types").FormattedResult[];
declare const measurableTrackUsage: (formattedResults: import("./usage-tracking").TrackableResult[]) => Promise<void>;
declare const measurableLocalTest: (resultsProcessor: import("./process-results").ResultsProcessor, pathToScan: string, options: import("./types").IaCTestFlags, iacOrgSettings: import("./types").IacOrgSettings, rulesOrigin: import("./types").RulesOrigin) => Promise<import("./types").TestReturnValue>;
declare const measurableOciPull: (registry: import("./rules/oci-registry").OciRegistry, repository: string, tag: string) => Promise<string>;
export { measurableInitLocalCache as initLocalCache, measurableloadContentForFiles as loadContentForFiles, measurableParseFiles as parseFiles, measurableScanFiles as scanFiles, measurableGetIacOrgSettings as getIacOrgSettings, measurableApplyCustomSeverities as applyCustomSeverities, measurableFormatScanResultsV1 as formatScanResultsV1, measurableFormatScanResultsV2 as formatScanResultsV2, measurableTrackUsage as trackUsage, measurableCleanLocalCache as cleanLocalCache, measurableLocalTest as localTest, measurableOciPull as pull, };
