export type TResourcePhase = 'idle' | 'loading' | 'refreshing' | 'ready' | 'stale' | 'error';
export interface IResourceState {
    phase: TResourcePhase;
    error: string | null;
    lastSuccessAt: number | null;
}
export declare const createIdleResourceState: () => IResourceState;
export declare const startResourceLoad: (previousArg: IResourceState, hasValueArg: boolean) => IResourceState;
export declare const completeResourceLoad: (completedAtArg?: number) => IResourceState;
export declare const failResourceLoad: (previousArg: IResourceState, hasValueArg: boolean, errorArg: string) => IResourceState;
