import { OperationDefinition } from './engine/interpreter';
import { TriggerMigration } from './engine/CreateTrigger';
import { DropTriggerMigration } from './engine/DropTrigger';
import { GetSchema200ResponseTablesInnerTriggersInner } from "./client";
export default function useClient(): {
    client: any;
    migrate: (operations: OperationDefinition[]) => any;
    useVersion: () => any;
    useSchema: () => any;
    useRolesAndPermission: () => any;
    migrateView: ({ operation, migration, }: {
        operation: string;
        migration: Record<string, any> | Record<string, any>[];
    }) => Promise<void>;
    migrateTrigger: ({ operation, migration, previousTrigger, }: {
        operation: "Create" | "Alter" | "Drop";
        migration: TriggerMigration | DropTriggerMigration;
        previousTrigger?: any;
    }) => Promise<void>;
    migrateInsight: ({ operation, migration, }: {
        operation: string;
        migration: Record<string, any>;
    }) => Promise<any>;
    migrateQuery: ({ operation, migration, }: {
        operation: string;
        migration: Record<string, any>;
    }) => Promise<void>;
    migrateTables: ({ operation, migration, }: {
        operation: string;
        migration: Record<string, any>;
    }) => Promise<void>;
    migrateExternalData: ({ operation, migration, }: {
        operation: string;
        migration: Record<string, any>;
    }) => Promise<void>;
    migrateRole: (operation: string, migration: Record<string, any>) => Promise<void>;
    migratePermission: (operation: string, role: string, table: string, { prop, value }: any, view?: string, condition?: any) => Promise<void>;
    migrateColumn: (migration: Record<string, any>, operation: any) => Promise<void>;
    migrateRelation: (migration: Record<string, any>, operation: any) => Promise<void>;
    migrateAuthProvider: (migration: AuthProviders, operation: any) => Promise<void>;
    forwardGeocoding: (query: string) => Promise<any>;
    getEnv: () => Promise<any>;
};
