import { TInputOptions } from '../../types/options/TInputOptions';
import { TIdentifierNamesCache } from '../../types/TIdentifierNamesCache';
export interface IProObfuscationResult {
    getIdentifierNamesCache(): TIdentifierNamesCache;
    getObfuscatedCode(): string;
    getSourceMap(): string;
    toString(): string;
}
export interface IProApiConfig {
    apiToken: string;
    timeout?: number;
    version?: string;
}
export interface IProCustomPreset {
    alias: string;
    name: string;
    description: string | null;
    options: TInputOptions;
    updatedAt: string;
}
export interface IProQuotaWindow {
    usedBytes: number;
    limitBytes: number;
    resetsAt: string;
}
export interface IProQuota {
    remainingBytes: number | null;
    minBytesPerBuild: number;
    daily: IProQuotaWindow | null;
    monthly: IProQuotaWindow | null;
}
export type TProApiProgressCallback = (message: string) => void;
export interface IProApiStreamMessage {
    type: 'progress' | 'result' | 'chunk' | 'chunk_end' | 'error';
    message?: string;
    errorCode?: string;
    code?: string;
    sourceMap?: string;
    field?: 'code' | 'sourceMap';
    data?: string;
    index?: number;
    total?: number;
}
