export type LoopLimitConfig = {
    kind: "iterations";
    iterations: number;
} | {
    kind: "duration";
    durationMs: number;
};
export type LoopLimitRuntime = {
    kind: "iterations";
    initial: number;
    remaining: number;
} | {
    kind: "duration";
    durationMs: number;
    deadlineMs: number;
};
export declare function parseLoopLimitArgs(args: string): LoopLimitConfig | undefined | string;
export declare function createLoopLimitRuntime(config: LoopLimitConfig | undefined, nowMs?: number): LoopLimitRuntime | undefined;
export declare function consumeLoopLimitIteration(limit: LoopLimitRuntime | undefined, nowMs?: number): boolean;
export declare function isLoopDurationExpired(limit: LoopLimitRuntime | undefined, nowMs?: number): boolean;
export declare function describeLoopLimit(config: LoopLimitConfig): string;
export declare function describeLoopLimitRuntime(limit: LoopLimitRuntime): string;
