export interface BaseDocumentArgs {
    companyId: number;
    projectId: number;
    hostUrl: string;
    locale: string;
    id?: string;
}
export interface DocumentsDocumentArgs extends BaseDocumentArgs {
    id: string;
}
export declare type DocumentUpdateArgs = Omit<DocumentsDocumentArgs, 'onError'>;
export interface DocumentsFieldsArgs extends BaseDocumentArgs {
    fieldId?: string;
}
interface TextFieldValue {
    label: string;
    id?: string;
    code?: string;
}
interface SelectFieldValue {
    id: string;
    label: string;
    code: string;
}
export declare type FieldValue = TextFieldValue | SelectFieldValue;
export declare enum FieldName {
    Name = "name",
    Status = "status",
    UploadedAt = "uploaded_at",
    UpdatedAt = "updated_at",
    CreatedAt = "created_at",
    UploadedBy = "uploaded_by",
    CreatedBy = "created_by",
    Revision = "revision",
    FileSize = "file_size",
    FileFormat = "file_format",
    Classification = "classification",
    Phase = "phase",
    Project = "project",
    ProjectNew = "project_new",
    Type = "type",
    Originator = "originator",
    OriginalFilename = "original_filename",
    Description = "description",
    Location = "location",
    Trade = "trade",
    Number = "number",
    Volume = "volume",
    VolumeOrSystem = "volume_or_system"
}
export declare enum FieldType {
    STRING = "string",
    REFERENCE = "reference",
    LOV_ENTRY = "lov_entry",
    LOV_ENTRIES = "love_entries",
    RICH_TEXT = "rich_text",
    DATETIME = "datetime"
}
export interface DocumentsMetadataField {
    id: string;
    name: FieldName;
    label: string;
    type: FieldType;
    description: string;
    values: FieldValue[];
}
export declare type FieldsByName = Record<FieldName, DocumentsMetadataField>;
export interface DocumentResponseBase {
    id: string;
    fields: DocumentsMetadataField[];
}
export interface DocumentUploadsResponse extends DocumentResponseBase {
    upload_status: number;
}
export declare type CDMResponse<T> = {
    data: T;
};
export declare type DocumentServiceUrls = {
    document_service: string;
    microsoft_office_service: string;
};
export declare type DocumentRevisionsServiceUrls = DocumentServiceUrls & {
    viewer_service: string;
};
export declare type ServiceUrls = DocumentServiceUrls | DocumentRevisionsServiceUrls;
interface FieldToUpdate {
    id: string;
    values: string[];
}
export interface UpdateParams {
    fields: FieldToUpdate[];
}
export declare type FieldOptionResponse = SelectFieldValue[];
export declare type MonolithFieldOptionResponse = LocationFieldValue[] | VendorFieldValue[] | User[];
export interface UseQueryOptions {
    enabled?: boolean;
}
export declare type LocationFieldValue = {
    id: number;
    code?: string | null;
    created_at: string;
    name: string;
    node_name: string;
    parent_id: null | number;
    updated_at: string;
};
export declare type VendorFieldValue = {
    abbreviated_name?: string;
    address: string;
    attachments: any[];
    authorized_bidder: true;
    business_phone: string;
    city: string;
    company: string;
    country_code: string;
    created_at: string;
    email_address: string;
    fax_number: string;
    id: number;
    is_active: true;
    labor_union: string;
    license_number: string;
    logo: null;
    mobile_phone: null;
    name: string;
    non_union_prevailing_wage: false;
    notes: string;
    origin_code: null;
    origin_data: null;
    origin_id: null;
    prequalified: false;
    project_ids: number[];
    state_code: string;
    synced_to_erp: false;
    trade_name: string;
    union_member: false;
    updated_at: string;
    website: string;
    zip: string;
    business_register: null;
    primary_contact: null;
    vendor_group: null;
};
export interface User {
    id: number;
    name: string;
    vendor: {
        id: string;
        name: string;
    };
}
export interface ChangeHistoryItem {
    id: string;
    date: string;
    user_id: string | null;
    change: string;
    old_value: string | null;
    new_value: string | null;
}
export declare type ChangeHistory = ChangeHistoryItem[];
export {};
