import { label, ontology } from '@synnaxlabs/client';
import { Flux } from '../flux';
export declare const FLUX_STORE_KEY = "labels";
export interface FluxStore extends Flux.UnaryStore<label.Key, label.Label> {
}
interface SubStore extends Flux.Store {
    labels: FluxStore;
}
export declare const FLUX_STORE_CONFIG: Flux.UnaryStoreConfig<SubStore>;
export declare const matchRelationship: (rel: ontology.Relationship, id: ontology.ID) => boolean;
interface UseLabelsOfQueryParams {
    id: ontology.ID;
}
interface SubStore extends Flux.Store {
    labels: FluxStore;
    relationships: Flux.UnaryStore<string, ontology.Relationship>;
}
export declare const retrieveLabelsOf: Flux.CreateRetrieveReturn<UseLabelsOfQueryParams, label.Label[]>;
export interface ListParams extends label.MultiRetrieveArgs {
}
export declare const useList: Flux.UseList<ListParams, string, label.Label>;
interface FormParams {
    key?: label.Key;
}
export declare const formSchema: import('zod').ZodObject<{
    key: import('zod').ZodOptional<import('zod').ZodUUID>;
    name: import('zod').ZodString;
    color: import('zod').ZodString;
}, import('zod/v4/core').$strip>;
export declare const useForm: Flux.UseForm<FormParams, import('zod').ZodObject<{
    key: import('zod').ZodOptional<import('zod').ZodUUID>;
    name: import('zod').ZodString;
    color: import('zod').ZodString;
}, import('zod/v4/core').$strip>>;
export interface DeleteParams {
    key: label.Key;
}
export declare const useDelete: (args: Flux.UseDirectUpdateArgs<DeleteParams, void>) => Flux.UseDirectUpdateReturn<void>;
export {};
//# sourceMappingURL=queries.d.ts.map