import { ActionPoint, ActionPointOptions } from "./action-point";
import { Endpoint, RestMethod, UnknownActionPayload } from "./endpoint";
import AirtableOfficial from "airtable";
import { UnknownFields } from "./fields";
import { Table } from "./table";
import { Validator } from "./validator";
export declare class Base implements ActionPoint {
    readonly endpoint: Endpoint;
    static fromOfficialClient(airtable: AirtableOfficial, baseId: string): Base;
    constructor(endpoint: Endpoint);
    runAction<P extends UnknownActionPayload, R>(method: RestMethod, { responseValidation, ...options }: ActionPointOptions<P, R>): Promise<R>;
    table<Fields extends UnknownFields = UnknownFields>(tableName: string, validator?: Validator<Fields>): Table<Fields>;
}
