import type { TableDefinition } from "@edgeandnode/amp/Model";
import { type Abi, type AbiEvent } from "abitype";
import type { Context } from "./ConfigLoader.ts";
import type * as Model from "./Model.ts";
export type { Context } from "./ConfigLoader.ts";
export * as Admin from "./api/Admin.ts";
export * as ArrowFlight from "./api/ArrowFlight.ts";
export * as ApiError from "./api/Error.ts";
export * as JsonLines from "./api/JsonLines.ts";
export * as Arrow from "./Arrow.ts";
export * as Model from "./Model.ts";
export * as StudioModel from "./studio/Model.ts";
export declare const defineDataset: (fn: (context: Context) => typeof Model.DatasetConfig.Encoded) => (context: Context) => {
    readonly name: string;
    readonly network: string;
    readonly dependencies: {
        readonly [x: string]: string;
    };
    readonly description?: string | undefined;
    readonly namespace?: string | undefined;
    readonly readme?: string | undefined;
    readonly repository?: string | undefined;
    readonly keywords?: readonly string[] | undefined;
    readonly sources?: readonly string[] | undefined;
    readonly license?: string | undefined;
    readonly private?: boolean | undefined;
    readonly tables?: {
        readonly [x: string]: {
            readonly sql: string;
        };
    } | undefined;
    readonly functions?: {
        readonly [x: string]: {
            readonly source: {
                readonly source: string;
                readonly filename: string;
            };
            readonly outputType: string;
            readonly inputTypes: readonly string[];
        };
    } | undefined;
};
export declare const eventQuery: (abi: AbiEvent) => string;
export declare const camelToSnake: (str: string) => string;
export declare const eventTableName: (abi: AbiEvent) => string;
export declare const eventTable: (abi: AbiEvent) => {
    sql: string;
};
export declare const eventTables: (abi: Abi) => Record<string, TableDefinition>;
//# sourceMappingURL=index.d.ts.map