import 'flat-map-polyfill';
import { DMMFClass } from '../runtime/dmmf';
import { BaseField, DMMF } from '../runtime/dmmf-types';
interface TSClientOptions {
    document: DMMF.Document;
    prismaYmlPath?: string;
    prismaConfig?: string;
    datamodel: string;
    datamodelJson?: string;
    runtimePath: string;
    browser?: boolean;
}
export declare class TSClient {
    protected readonly dmmf: DMMFClass;
    protected readonly document: DMMF.Document;
    protected readonly prismaYmlPath?: string;
    protected readonly prismaConfig?: string;
    protected readonly datamodel: string;
    protected readonly datamodelJson?: string;
    protected readonly runtimePath: string;
    protected readonly browser: boolean;
    constructor({ document, prismaYmlPath, prismaConfig, datamodel, datamodelJson, runtimePath, browser, }: TSClientOptions);
    toString(): string;
}
export declare class Model {
    protected readonly model: DMMF.Model;
    protected readonly dmmf: DMMFClass;
    protected outputType?: OutputType;
    protected mapping: DMMF.Mapping;
    constructor(model: DMMF.Model, dmmf: DMMFClass);
    protected readonly argsTypes: ArgsType[];
    toString(): string;
}
export declare class Query {
    protected readonly dmmf: DMMFClass;
    protected readonly operation: 'query' | 'mutation';
    constructor(dmmf: DMMFClass, operation: 'query' | 'mutation');
    toString(): string;
}
export declare class ModelDelegate {
    protected readonly outputType: OutputType;
    protected readonly dmmf: DMMFClass;
    constructor(outputType: OutputType, dmmf: DMMFClass);
    toString(): string;
}
export declare class QueryDelegate {
    protected readonly outputType: OutputType;
    constructor(outputType: OutputType);
    toString(): string;
}
export declare class InputField {
    protected readonly field: DMMF.SchemaArg;
    protected readonly prefixFilter: boolean;
    constructor(field: DMMF.SchemaArg, prefixFilter?: boolean);
    toString(): string;
}
export declare class OutputField {
    protected readonly field: BaseField;
    constructor(field: BaseField);
    toString(): string;
}
export declare class OutputType {
    protected readonly type: DMMF.OutputType;
    name: string;
    fields: DMMF.SchemaField[];
    constructor(type: DMMF.OutputType);
    toString(): string;
}
export declare class ArgsType {
    protected readonly type: DMMF.InputType;
    constructor(type: DMMF.InputType);
    toString(): string;
}
export declare class InputType {
    protected readonly type: DMMF.InputType;
    constructor(type: DMMF.InputType);
    toString(): string;
}
export declare class Enum {
    protected readonly type: DMMF.Enum;
    constructor(type: DMMF.Enum);
    toString(): string;
}
export {};
