import { rack } from '@synnaxlabs/client';
import { Flux } from '../flux';
import { Ontology } from '../ontology';
import { Status } from '../status';
export declare const FLUX_STORE_KEY = "racks";
export interface FluxStore extends Flux.UnaryStore<rack.Key, Omit<rack.Payload, "status">> {
}
export interface FluxSubStore extends Flux.Store, Status.FluxSubStore, Ontology.FluxSubStore {
    [FLUX_STORE_KEY]: FluxStore;
}
export declare const FLUX_STORE_CONFIG: Flux.UnaryStoreConfig<FluxSubStore>;
export interface RetrieveQuery {
    key: rack.Key;
    includeStatus?: boolean;
}
export interface ListQuery extends rack.RetrieveMultipleParams {
}
export declare const useList: Flux.UseList<ListQuery, number, rack.Payload>;
export declare const useRetrieve: Flux.UseRetrieve<RetrieveQuery, rack.Payload>, useRetrieveStateful: Flux.UseRetrieveStateful<RetrieveQuery, rack.Payload>;
export type UseDeleteParams = rack.Key | rack.Key[];
export declare const useDelete: Flux.UseUpdate<UseDeleteParams, UseDeleteParams, import('zod').ZodNever, false, FluxSubStore>;
export interface RenameParams extends Pick<rack.Rack, "key" | "name"> {
}
export declare const useRename: Flux.UseUpdate<RenameParams, RenameParams, import('zod').ZodNever, false, FluxSubStore>;
//# sourceMappingURL=queries.d.ts.map