import { AxiosRequestConfig } from 'axios';
import DataSet from './DataSet';
export declare type SubmitTypes = 'create' | 'update' | 'destroy' | 'submit';
export declare type TransportTypes = SubmitTypes | 'read' | 'validate' | 'tls' | 'exports';
export declare type TransportAdapter = (config: AxiosRequestConfig, type: TransportTypes) => AxiosRequestConfig;
export declare type TransportHookProps = {
    data?: any;
    params?: any;
    dataSet?: DataSet;
    [key: string]: any;
};
export declare type TransportHook = (props: TransportHookProps) => AxiosRequestConfig;
export declare type TransportType = AxiosRequestConfig | TransportHook | string;
export declare type TransportProps = {
    create?: TransportType;
    read?: TransportType;
    update?: TransportType;
    destroy?: TransportType;
    validate?: TransportType;
    submit?: TransportType;
    tls?: TransportType;
    exports?: TransportType;
    adapter?: TransportAdapter;
};
export default class Transport {
    props: TransportProps;
    dataSet: DataSet;
    set create(create: TransportType | undefined);
    get create(): TransportType | undefined;
    set read(read: TransportType | undefined);
    get read(): TransportType | undefined;
    set update(update: TransportType | undefined);
    get update(): TransportType | undefined;
    set destroy(destroy: TransportType | undefined);
    get destroy(): TransportType | undefined;
    set validate(validate: TransportType | undefined);
    get validate(): TransportType | undefined;
    set submit(submit: TransportType | undefined);
    get submit(): TransportType | undefined;
    set exports(exports: TransportType | undefined);
    get exports(): TransportType | undefined;
    set tls(tls: TransportType | undefined);
    get tls(): TransportType | undefined;
    set adapter(adapter: TransportAdapter | undefined);
    get adapter(): TransportAdapter | undefined;
    constructor(props: TransportProps | undefined, dataSet: DataSet);
}
