import { Action } from 'ts-action'; declare class FireOnceService { private _firedKeys; /** * Execute an action only if it hasn't been fired before for the given key. * * @param key - Unique identifier for this fire-once action * @param action - The action to dispatch * @returns true if action was dispatched, false if already fired */ fireOnce(key: string, action: Action): boolean; /** * Check if a key has been fired. * * @param key - The key to check * @returns true if the key has been fired */ hasFired(key: string): boolean; /** * Reset a specific key or all keys. * Useful for logout scenarios or testing. * * @param key - Optional key to reset. If not provided, resets all keys. */ reset(key?: string): void; /** * Get all fired keys (for debugging). * * @returns Array of all fired keys */ getFiredKeys(): string[]; } export declare const fireOnceService: FireOnceService; export {}; //# sourceMappingURL=fire-once-service.d.ts.map