import { type ISessionState } from './classes.sessionstate.js';
export interface ILatestIntentToken {
    scope: string;
    requestKey: string;
    generation: number;
    sequence: number;
}
export declare class LatestIntentTracker {
    private sequence;
    private latestByScope;
    begin(scopeArg: string, requestKeyArg: string, generationArg: number, coalescingArg: boolean): ILatestIntentToken;
    isCurrent(tokenArg: ILatestIntentToken): boolean;
}
export declare class MutationDomainScheduler {
    private tails;
    run<TResult>(domainArg: string, taskArg: () => Promise<TResult>): Promise<TResult>;
}
export declare const mergeActionState: <TState extends object>(baseStateArg: TState, actionStateArg: TState, latestStateArg: TState) => TState;
export declare const isProtectedRequestCurrent: (sessionArg: ISessionState, requestGenerationArg: number, schedulerGenerationArg: number, intentCurrentArg: boolean, nowArg?: number) => boolean;
