/**
 * NOTE: onChange is called with an extended version of OffsetSettings
 * Here only used properties are listed
 */
export type OffsetSettingsInput = {
    filterExpanded?: boolean;
    mapHidden?: boolean;
    filters?: {};
    wellSection?: string;
    selectedWellIds: number[];
    isSynced?: boolean;
    metricsKeys?: string[];
};
/**
 * An extended version of OffsetSettings provided to onSave callback
 */
export type OffsetSettingsOutput = OffsetSettingsInput & {
    subjectWellId?: number;
    manualWellIds?: number[];
    companyId?: number;
    hintPopupClosed?: boolean;
};
/**
 * NOTE: The most of properties are optional except "id" and "name"
 */
export type OffsetWell = {
    id: number;
    name: string;
    rigId?: number | string;
    rigName?: string;
    formation?: string;
    stringDesign?: unknown;
    programName?: string;
    basin?: string;
    county?: string;
    area?: string;
    visibility?: string;
    topHole?: {
        coordinates: [number, number];
        raw: string;
    };
    rigReleaseDate?: number;
    totalDepth?: number;
    is_usable?: boolean;
    weight_to_weight_average?: number;
};
export type OffsetWellPickerV4Props = {
    open?: boolean;
    isViewOnly?: boolean;
    /**
     * Defines what collection is used for offsetWells
     * Best In Class wells (BiC) from "data.offset-wells.bic" collection are used
     * when set to true.
     * Wells from "data.offset_wells" collection is used otherwise.
     */
    isWDUser?: boolean;
    /**
     * asset_id and companyId is taken from this property
     */
    defaultSubjectWell?: {
        asset_id: number;
        companyId: number;
    };
    offsetSettings?: OffsetSettingsInput;
    /**
     * Only used as a fallback for company_id when defaultSubjectWell is not provided
     */
    currentUser?: {
        company_id: number;
    };
    /** An optional mapper function for offset wells */
    addWellsUsabilityInfo?: (wells: OffsetWell[]) => PromiseLike<OffsetWell[]> | OffsetWell[];
    /**
     * Called when selected offset wells are changed.
     * NOTE: also called during initial initialization when **syncAutoEnabled** set to true
     * WARNING: This callback is also called when "Cancel" button is clicked.
     * It is called with previous offsetSettings values with current "mapHidden"
     * and "filterExpanded" values set but without selectedWells argument.
     * NOTE: selectedWells format may be different. The very fists time this callback is called it contains
     * bare minimum.. like "id" and "name". Do not rely on the additional data from it.
     */
    onSave: (offsetSettings: OffsetSettingsOutput, selectedWells?: OffsetWell[]) => void;
    /**
     * Called when modal gets closed by clicking buttons or any other way.
     * NOTE: It is called **before** the "onSave" callback
     */
    onClose: () => void;
    /** defaults to 50 */
    maxOffsetSize?: number;
    /** defaults to 50 */
    localMaxOffsetSize?: number;
    syncAutoEnabled?: boolean;
};
//# sourceMappingURL=OffsetWellPickerV4.types.d.ts.map