import { table, workspace } from '@synnaxlabs/client';
import { Flux } from '../flux';
import { Ontology } from '../ontology';
export declare const FLUX_STORE_CONFIG: Flux.UnaryStoreConfig<FluxSubStore, table.Key, table.Table>;
export declare const FLUX_STORE_KEY = "tables";
export interface FluxStore extends Flux.UnaryStore<table.Key, table.Table> {
}
interface FluxSubStore extends Flux.Store {
    [FLUX_STORE_KEY]: FluxStore;
    [Ontology.RELATIONSHIPS_FLUX_STORE_KEY]: Ontology.RelationshipFluxStore;
    [Ontology.RESOURCES_FLUX_STORE_KEY]: Ontology.ResourceFluxStore;
}
export type RetrieveQuery = table.RetrieveSingleParams;
export declare const retrieveSingle: ({ store, client, query: { key }, }: Flux.RetrieveParams<RetrieveQuery, FluxSubStore>) => Promise<table.Table>;
export declare const useRetrieve: Flux.UseRetrieve<{
    key: string;
}, table.Table>, useRetrieveObservable: Flux.UseRetrieveObservable<{
    key: string;
}, table.Table>;
export type DeleteParams = table.Params;
export declare const useDelete: Flux.UseUpdate<table.Params, table.Params, import('zod').ZodNever>;
export interface CreateParams extends table.New {
    workspace: workspace.Key;
}
export interface CreateOutput extends table.Table {
    workspace: workspace.Key;
}
export declare const useCreate: Flux.UseUpdate<CreateParams, CreateOutput, import('zod').ZodNever>;
export interface UseRenameArgs {
    key: table.Key;
    name: string;
}
export declare const useRename: Flux.UseUpdate<UseRenameArgs, UseRenameArgs, import('zod').ZodNever>;
export {};
//# sourceMappingURL=queries.d.ts.map