import { rack } from '@synnaxlabs/client';
import { Flux } from '../../flux';
import { Ontology } from '../../ontology';
export declare const FLUX_STORE_KEY = "racks";
export interface FluxStore extends Flux.UnaryStore<rack.Key, rack.Payload> {
}
interface FluxSubStore extends Flux.Store {
    [FLUX_STORE_KEY]: FluxStore;
    [Ontology.RELATIONSHIPS_FLUX_STORE_KEY]: Ontology.RelationshipFluxStore;
    [Ontology.RESOURCES_FLUX_STORE_KEY]: Ontology.ResourceFluxStore;
}
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>;
export interface RenameParams extends Pick<rack.Rack, "key" | "name"> {
}
export declare const useRename: Flux.UseUpdate<RenameParams, RenameParams, import('zod').ZodNever>;
export {};
//# sourceMappingURL=queries.d.ts.map