import { AxiosResponse, AxiosRequestConfig } from 'axios';
import { DocumentUploadsResponse, FieldName, BaseDocumentArgs, UpdateParams, User, DocumentUpdateArgs, DocumentsDocumentArgs, DocumentResponseBase, ChangeHistory } from './apiTypes';
export declare const URLS: {
    V0: {
        DOCUMENT_UPLOADS: string;
        MONOLITH: {
            USERS: string;
            LOCATION: string;
            VENDORS: string;
        };
    };
    V1: {
        DOCUMENT_FIELD_VALUES: string;
        DOCUMENT_REVISION: string;
        DOCUMENT_REVISION_CHANGE_HISTORY: string;
        DOCUMENT_UPLOAD: string;
    };
};
declare type KeyInUrl = string;
declare type PathParams = Record<KeyInUrl, string | number>;
export declare function formatUrl(url: string, pathParams: PathParams): string;
export declare const getServiceAxiosConfig: (queryParams?: any) => AxiosRequestConfig;
export declare const getDocumentServiceAxiosConfig: (queryParams?: AxiosRequestConfig['params'] & {
    locale?: string;
}) => AxiosRequestConfig;
export declare const fetchDocumentUpload: (args: DocumentsDocumentArgs) => Promise<DocumentUploadsResponse | undefined>;
export declare const fetchDocumentRevision: (args: DocumentsDocumentArgs) => Promise<DocumentResponseBase | undefined>;
export declare const updateDocumentUploadData: (args: DocumentUpdateArgs) => (fieldParams: UpdateParams) => Promise<AxiosResponse<undefined> | undefined>;
export declare const fetchFieldOptions: (args: BaseDocumentArgs) => (fieldId: string, fieldName: FieldName) => Promise<{
    id: string;
    label: string;
    code: string;
}[] | undefined>;
export declare const useRevisionChangeHistory: (args: DocumentsDocumentArgs) => import("react-query").UseQueryResult<ChangeHistory | undefined, unknown>;
export declare const useUsers: (args: {
    projectId: number;
}) => import("react-query").UseQueryResult<User[] | undefined, unknown>;
export {};
