import { ApiOptions, FetchPolicy, ODataMetadataType, ODataVersion, ParserOptions, QueryOption } from './types';
export declare class ODataApiOptions implements ApiOptions {
    /**
     * Default OData version
     */
    version: ODataVersion;
    /**
     * Send enum as string in the request
     */
    stringAsEnum: boolean;
    /**
     * Delete reference by path or by id
     */
    deleteRefBy: 'path' | 'id';
    /**
     * No use parenthesis for empty parameters functions
     */
    nonParenthesisForEmptyParameterFunction: boolean;
    /**
     * Strip metadata from the response
     */
    stripMetadata: ODataMetadataType;
    /**
     * Use JSON Batch Format
     */
    jsonBatchFormat: boolean;
    /**
     * Relative urls
     * http://docs.oasis-open.org/odata/odata-json-format/v4.0/cs01/odata-json-format-v4.0-cs01.html#_Toc365464682
     */
    relativeUrls: boolean;
    /**
     * Cache fetch policy
     */
    fetchPolicy: FetchPolicy;
    /**
     * Extra params to be sent in the request
     */
    params: {
        [param: string]: string | string[];
    };
    /**
     * Extra headers to be sent in the request
     */
    headers: {
        [param: string]: string | string[];
    };
    /**
     * Http request with credentials
     */
    withCredentials?: boolean;
    /**
     * Send query options in the request body
     */
    bodyQueryOptions: QueryOption[];
    /**
     * Customize accept header with OData options
     * @link http://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_RequestingtheJSONFormat
     */
    accept?: {
        exponentialDecimals?: boolean;
        ieee754Compatible?: boolean;
        metadata?: ODataMetadataType;
        streaming?: boolean;
    };
    etag: {
        /**
         * @link http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part1-protocol/odata-v4.0-errata02-os-part1-protocol-complete.html#_Toc406398229
         */
        ifMatch: boolean;
        /**
         * @link http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part1-protocol/odata-v4.0-errata02-os-part1-protocol-complete.html#_Toc406398230
         */
        ifNoneMatch: boolean;
    };
    prefer?: {
        /**
         * @link http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part1-protocol/odata-v4.0-errata02-os-part1-protocol-complete.html#_Toc406398238
         */
        maxPageSize?: number;
        /**
         * @link http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part1-protocol/odata-v4.0-errata02-os-part1-protocol-complete.html#_Toc406398240
         */
        return?: 'representation' | 'minimal';
        /**
         * @link http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part1-protocol/odata-v4.0-errata02-os-part1-protocol-complete.html#_Toc406398236
         */
        continueOnError?: boolean;
        /**
         * @link http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part1-protocol/odata-v4.0-errata02-os-part1-protocol-complete.html#_Toc406398237
         */
        includeAnnotations?: string;
        /**
         * @link https://devblogs.microsoft.com/odata/extension-omit-null-value-properties-in-asp-net-core-odata/
         */
        omitNullValues?: boolean;
    };
    constructor(config: ApiOptions);
    get parserOptions(): ParserOptions;
    get helper(): import("./helper").ODataVersionHelper;
}
