export type FulcrumParameterValue = string | number; export type FulcrumRecordAttributes = Record; export type FulcrumOpen = { /** * The form ID to open when Fulcrum launches. */ formId?: string; }; export type FulcrumRecordLocation = { /** * The latitude of the record. */ latitude?: number; /** * The longitude of the record. */ longitude?: number; }; export type FulcrumNewRecord = FulcrumRecordLocation & { /** * The form ID to activate and use for the new record. */ formId: string; /** * The project ID of the new record. */ projectId?: string; /** * The status of the new record. */ status?: string; /** * Field data-name/value pairs to set on the new record. */ attributes?: FulcrumRecordAttributes; }; export type FulcrumEditRecord = FulcrumRecordLocation & { /** * The record ID to edit. */ recordId: string; /** * The project ID of the record. */ projectId?: string; /** * The status of the record. */ status?: string; /** * Field data-name/value pairs to set on the record. */ attributes?: FulcrumRecordAttributes; }; export type FulcrumWebFormMode = 'map' | 'split' | 'table'; export type FulcrumOpenWebForm = { /** * The form ID to open in the Fulcrum web app. */ formId: string; /** * The view mode for the form records. */ mode?: FulcrumWebFormMode; }; export type FulcrumWebRecord = { /** * The record ID to open in the Fulcrum web app. */ recordId: string; }; export type FulcrumNewRecordAction = { /** * The form ID used by Fulcrum's documented new-record web action redirect. */ formId: string; }; export type FulcrumEditRecordAction = { /** * The record ID used by Fulcrum's documented edit-record web action redirect. */ recordId: string; }; export type FulcrumMobileAction = 'open' | 'new-record' | 'edit-record'; export type FulcrumWebAction = 'new-record' | 'edit-record'; export declare function fulcrumMobileUrl(action: FulcrumMobileAction, params?: Record): string; export declare function fulcrumWebUrl(path: string, params?: Record): string; export declare function fulcrumWebActionUrl(action: FulcrumWebAction, params: Record): string; export declare function fulcrumPathSegment(value: string): string; export declare function newRecordParams(payload: FulcrumNewRecord): { latitude: number | undefined; longitude: number | undefined; form_id: string; project_id: string | undefined; status: string | undefined; }; export declare function editRecordParams(payload: FulcrumEditRecord): { latitude: number | undefined; longitude: number | undefined; record_id: string; project_id: string | undefined; status: string | undefined; }; export declare function newRecordActionParams(payload: FulcrumNewRecordAction): { form_id: string; }; export declare function editRecordActionParams(payload: FulcrumEditRecordAction): { record_id: string; };