import { type StatusId, type StatusValueMap, type StatusRecord } from './definitions.ts';
import { type AggregatedComponentStatus } from '../../components/status/index.ts';
export { clearStatus as clear, getStatus as get, setStatus as set };
export type { StatusId, StatusRecord, StatusValueMap } from './definitions.ts';
export { STATUS_IDS, DEFAULT_STATUS_ID } from './definitions.ts';
type StatusRequestBody = {
    id: StatusId;
};
type StatusWriteRequestBody<T extends StatusId = StatusId> = {
    id?: T;
    status: StatusValueMap[T];
};
export declare const Status: {
    readonly primaryStore: any;
};
declare function clearStatus({ id }: StatusRequestBody): Promise<boolean>;
interface AggregatedComponentStatusWithName extends AggregatedComponentStatus {
    name: string;
}
interface AllStatusSummary {
    systemStatus: Promise<AsyncIterable<StatusRecord>>;
    componentStatus: AggregatedComponentStatusWithName[];
    restartRequired: boolean;
}
declare function getStatus({ id }: Partial<StatusRequestBody>): Promise<StatusRecord | AllStatusSummary>;
declare function setStatus<T extends StatusId = StatusId>({ status, id, }: StatusWriteRequestBody<T>): Promise<StatusRecord<T>>;
