import { IConfigurationService } from '../../../platform/configuration/common/configurationService';
import { IExperimentationService } from '../../../platform/telemetry/common/nullExperimentationService';
export declare class DelaySession {
    private baseDebounceTime;
    private readonly expectedTotalTime;
    private readonly providerInvocationTime;
    private extraDebounce;
    constructor(baseDebounceTime: number, expectedTotalTime: number | undefined, providerInvocationTime?: number);
    setExtraDebounce(extraDebounce: number): void;
    getDebounceTime(): number;
    getArtificialDelay(): number;
}
export declare class Delayer {
    private readonly _configurationService;
    private readonly _experimentationService;
    private _recentUserActions;
    constructor(_configurationService: IConfigurationService, _experimentationService: IExperimentationService);
    createDelaySession(requestTime: number | undefined): DelaySession;
    handleAcceptance(): void;
    handleRejection(): void;
    private _recordUserAction;
    private _getExpectedTotalTime;
}
//# sourceMappingURL=delayer.d.ts.map