import { Accessor } from 'solid-js';
import { CardResolution } from '../primitives/card-contract';
export interface ResolutionController<R extends CardResolution = CardResolution> {
    resolution: Accessor<R | undefined>;
    isResolved: Accessor<boolean>;
    /** A finished resolution the user can't take back here (action | submit | expired). */
    isTerminal: Accessor<boolean>;
    /** A deferred resolution (`dismissed`) — set aside, still re-openable. */
    isDeferred: Accessor<boolean>;
    isOptimistic: Accessor<boolean>;
    setLocal: (r: R) => void;
}
export declare function useCardResolution<R extends CardResolution = CardResolution>(opts: {
    prop: Accessor<R | undefined>;
    data: Accessor<unknown>;
}): ResolutionController<R>;
