import { ExternalMarkupType, ToolbarsMarkupElement } from '@procore/labs-markup-toolbars';
import { PrepareDownloadData } from '@procore/labs-markup-toolbars/dist/src/store/storeTypes';
export interface BaseApiParams {
    companyId: number;
    projectId: number;
    hostUrl: string;
    id?: string;
    onError?(errorCode: number): void;
}
export interface ViewerDocumentParams extends BaseApiParams {
    id: string;
    itemType: string;
    onError(errorCode: number): void;
}
export declare type ViewerPrepareDownloadData = PrepareDownloadData;
export interface ViewerMarkup {
    id: string;
    company_id: string;
    project_id: string;
    created_at: string;
    created_by_id: string;
    created_by_name: string;
    created_by_vendor_name: string;
    deleted: boolean;
    editable: boolean;
    markup_type: ExternalMarkupType;
    page_number: number;
    shape: ToolbarsMarkupElement['shape'];
    updated_at: string;
    updated_by_id: string;
    viewer_doc_id: string;
}
export interface ViewerDocumentResponse {
    viewer_doc_id: string;
    markups: ViewerMarkup[];
}
export interface ViewerMarkupArgs extends BaseApiParams {
    id: ViewerDocumentResponse['viewer_doc_id'];
}
export interface ViewerMarkupCreateRequest {
    shape: ViewerMarkup['shape'];
    markup_type: ViewerMarkup['markup_type'];
    page_number: number;
}
export declare type ViewerMarkupUpdateRequest = {
    document_markup_elements: {
        id: ViewerMarkup['id'];
        shape: ViewerMarkup['shape'];
    }[];
};
export declare type ViewerMarkupDeleteRestoreRequest = {
    document_markup_elements: {
        id: ViewerMarkup['id'];
    }[];
};
