import type { ForeignKey, SchemaBuilderState, Table } from '@/types/database';
import { ToolType } from '@/types/database';
import type { UniqueIdentifier } from '@dnd-kit/core';
interface SchemaStoreState {
    tables: Table[];
    foreignKeys: ForeignKey[];
    uiState: SchemaBuilderState;
    setTables: (tables: Table[]) => void;
    addTable: (table: Table) => void;
    updateTable: (table: Table) => void;
    deleteTable: (tableId: UniqueIdentifier) => void;
    setForeignKeys: (foreignKeys: ForeignKey[]) => void;
    addForeignKey: (foreignKey: ForeignKey) => void;
    deleteForeignKey: (foreignKeyId: UniqueIdentifier) => void;
    setSelectedTool: (tool: ToolType) => void;
    setUIState: (uiState: Partial<SchemaBuilderState>) => void;
}
export declare const useSchemaStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<SchemaStoreState>, "temporal"> & {
    temporal: import("zustand").StoreApi<import("zundo").TemporalState<{
        tables: Table[];
        foreignKeys: ForeignKey[];
    }>>;
}>;
export {};
//# sourceMappingURL=schema-store.d.ts.map