// This file is auto-generated by @hey-api/openapi-ts

/**
 * A key-value pair for a known and supported API.
 */
export type ApiKeyReadable = {
    id: string;
};

/**
 * A key-value pair for a known and supported API.
 */
export type ApiKeyWritable = {
    id: string;
    key: string;
};

/**
 * The ``access`` block contains information related to access control for
 * this data object.
 */
export type Access = {
    asset: Asset;
    classification?: Classification | null;
};

/**
 * A key-value pair for a known and supported access scope.
 */
export type AccessTokenReadable = {
    id: string;
};

/**
 * A key-value pair for a known and supported access scope.
 */
export type AccessTokenWritable = {
    id: string;
    key: string;
};

/**
 * The ``access.asset`` block contains information about the owner asset of
 * these data.
 */
export type Asset = {
    name: string;
};

/**
 * Content of a cache revision.
 */
export type CacheContent = {
    /**
     * Parsed JSON object for the cached resource.
     */
    data: {
        [key: string]: unknown;
    };
};

/**
 * List of cache revision filenames.
 */
export type CacheList = {
    /**
     * Cache revision filenames, sorted oldest to newest.
     */
    revisions: Array<string>;
};

/**
 * Resources that can be cached and restored.
 */
export type CacheResource = 'config.json' | 'mappings.json';

/**
 * Cache retention setting for project resources.
 */
export type CacheRetention = {
    /**
     * Maximum number of cache revisions to keep per resource.
     */
    cache_max_revisions?: number;
};

/**
 * Represents a change in the changelog file.
 */
export type ChangeInfo = {
    timestamp?: string;
    change_type: ChangeType;
    user: string;
    path: string;
    change: string;
    hostname: string;
    file: string;
    key: string;
};

/**
 * The types of change that can be made on a file.
 */
export type ChangeType = 'update' | 'remove' | 'add' | 'reset' | 'merge' | 'copy';

/**
 * The security classification for a given data object.
 */
export type Classification = 'asset' | 'internal' | 'restricted';

/**
 * The ``masterdata.smda.coordinate_system`` block contains the coordinate
 * system known to SMDA.
 */
export type CoordinateSystem = {
    identifier: string;
    uuid: string;
};

/**
 * A single country in the ``smda.masterdata.country`` list of countries
 * known to SMDA.
 */
export type CountryItem = {
    identifier: string;
    uuid: string;
};

/**
 * The system or application data is being mapping to or from.
 */
export type DataSystem = 'rms' | 'smda' | 'fmu';

/**
 * A single discovery in the ``masterdata.smda.discovery`` list of discoveries
 * known to SMDA.
 */
export type DiscoveryItem = {
    short_identifier: string;
    uuid: string;
};

/**
 * Path where a .fmu directory may exist.
 */
export type FmuDirPath = {
    /**
     * Absolute path to the directory which maybe contains a .fmu directory.
     */
    path: string;
};

/**
 * Information returned when 'opening' an FMU Directory.
 */
export type FmuProject = {
    /**
     * Absolute path to the directory which maybe contains a .fmu directory.
     */
    path: string;
    /**
     * The directory name, not the path, that contains the .fmu directory.
     */
    project_dir_name: string;
    /**
     * The configuration of an FMU project's .fmu directory.
     */
    config: ProjectConfig;
};

/**
 * A single field in the ``masterdata.smda.field`` list of fields
 * known to SMDA.
 */
export type FieldItem = {
    identifier: string;
    uuid: string;
};

/**
 * A relative path to a global config file, relative to the project root.
 */
export type GlobalConfigPath = {
    /**
     * Relative path in the project to a global config file.
     */
    relative_path: string;
};

export type HttpValidationError = {
    detail?: Array<ValidationError>;
};

/**
 * Diff entry for list fields with per-item changes.
 */
export type ListFieldDiff = {
    field_path: string;
    added: Array<{
        [key: string]: unknown;
    }>;
    removed: Array<{
        [key: string]: unknown;
    }>;
    updated: Array<ListUpdatedEntry>;
};

/**
 * Before and after values for an updated list item.
 */
export type ListUpdatedEntry = {
    key: unknown;
    before: {
        [key: string]: unknown;
    };
    after: {
        [key: string]: unknown;
    };
};

/**
 * Represents a .fmu directory lock file.
 */
export type LockInfo = {
    pid: number;
    hostname: string;
    user: string;
    acquired_at: number;
    expires_at: number;
    version?: string;
};

/**
 * Information about the project lock status.
 */
export type LockStatus = {
    /**
     * Whether the current session holds the write lock.
     */
    is_lock_acquired: boolean;
    /**
     * Whether a lock file exists.
     */
    lock_file_exists: boolean;
    /**
     * Contents of the lock file, if available and readable.
     */
    lock_info?: LockInfo | null;
    /**
     * Error message if checking lock status failed.
     */
    lock_status_error?: string | null;
    /**
     * Error message if reading the lock file failed.
     */
    lock_file_read_error?: string | null;
    /**
     * Error message from the last attempt to acquire the lock.
     */
    last_lock_acquire_error?: string | null;
    /**
     * Error message from the last attempt to release the lock.
     */
    last_lock_release_error?: string | null;
    /**
     * Error message from the last attempt to refresh the lock.
     */
    last_lock_refresh_error?: string | null;
};

export type LogChangeInfo = Array<ChangeInfo>;

export type MappingGroup = {
    [key: string]: unknown;
};

/**
 * The discriminator used between mapping types.
 *
 * Each of these types should have their own mapping class derived from a base
 * mapping type, e.g. IdentifierMapping.
 */
export type MappingType = 'stratigraphy';

/**
 * The ``masterdata`` block contains information related to masterdata.
 * Currently, SMDA holds the masterdata.
 */
export type Masterdata = {
    smda: Smda;
};

/**
 * A generic message to return to the GUI.
 */
export type Message = {
    message: string;
};

/**
 * The ``fmu.model`` block contains information about the model used.
 *
 * .. note::
 * Synonyms for "model" in this context are "template", "setup", etc. The term
 * "model" is ultra-generic but was chosen before e.g. "template" as the latter
 * deviates from daily communications and is, if possible, even more generic
 * than "model".
 */
export type Model = {
    description?: Array<string> | null;
    name: string;
    revision: string;
};

/**
 * Returns "ok" if the route is functioning correctly.
 */
export type Ok = {
    status?: 'ok';
};

/**
 * The configuration file in a .fmu directory.
 *
 * Stored as config.json.
 */
export type ProjectConfig = {
    version: string;
    created_at: string;
    created_by: string;
    last_modified_at?: string | null;
    last_modified_by?: string | null;
    masterdata?: Masterdata | null;
    model?: Model | null;
    access?: Access | null;
    cache_max_revisions?: number;
    rms?: RmsProject | null;
};

/**
 * The kind of relation this mapping represents.
 */
export type RelationType = 'primary' | 'alias' | 'equivalent';

/**
 * The project coordinate system of an RMS project.
 */
export type RmsCoordinateSystem = {
    name: string;
};

/**
 * A matched coordinate system.
 */
export type RmsCoordinateSystemMatch = {
    /**
     * The source coordinate system to be matched.
     */
    rms_crs_sys: RmsCoordinateSystem;
    /**
     * The matched target coordinate system.
     */
    smda_crs_sys: CoordinateSystem;
    /**
     * Similarity score for the coordinate systems (0-100).
     */
    score: number;
    /**
     * Confidence level based on score.
     *
     * 'high' (>80), 'medium' (50-80), 'low' (<50).
     */
    confidence: 'high' | 'medium' | 'low';
};

/**
 * A horizon from an RMS project.
 */
export type RmsHorizon = {
    name: string;
    type: 'calculated' | 'calculated_unconformity' | 'interpreted' | 'interpreted_unconformity' | 'interpreted_intrusion';
};

/**
 * RMS project configuration.
 */
export type RmsProject = {
    path: string;
    version: string;
    coordinate_system?: RmsCoordinateSystem | null;
    zones?: Array<RmsStratigraphicZone> | null;
    horizons?: Array<RmsHorizon> | null;
    wells?: Array<RmsWell> | null;
};

/**
 * Path to an RMS project within the FMU project.
 */
export type RmsProjectPath = {
    /**
     * Absolute path to the RMS project within the FMU project.
     */
    path: string;
};

/**
 * List of RMS project paths within the FMU project.
 */
export type RmsProjectPathsResult = {
    /**
     * List of absolute paths to RMS projects within the FMU project.
     */
    results: Array<RmsProjectPath>;
};

/**
 * RMS stratigraphic framework consisting of zones and horizons.
 */
export type RmsStratigraphicFramework = {
    /**
     * List of RMS stratigraphic zones.
     */
    zones: Array<RmsStratigraphicZone>;
    /**
     * List of RMS horizons.
     */
    horizons: Array<RmsHorizon>;
};

/**
 * A stratigraphic zone from an RMS project.
 */
export type RmsStratigraphicZone = {
    name: string;
    top_horizon_name: string;
    base_horizon_name: string;
    stratigraphic_column_name?: Array<string> | null;
};

/**
 * A matched pair of RMS zone and SMDA stratigraphic unit.
 */
export type RmsStratigraphyMatch = {
    /**
     * The RMS stratigraphic zone.
     */
    rms_zone: RmsStratigraphicZone;
    /**
     * The matched SMDA stratigraphic unit.
     */
    smda_unit: StratigraphicUnit;
    /**
     * Similarity score for the zone/unit names (0-100).
     */
    score: number;
    /**
     * Confidence level based on score.
     *
     * 'high' (>80), 'medium' (50-80), 'low' (<50).
     */
    confidence: 'high' | 'medium' | 'low';
};

/**
 * RMS version.
 */
export type RmsVersion = {
    /**
     * A version of RMS.
     */
    version: string;
};

/**
 * A well from an RMS project.
 */
export type RmsWell = {
    name: string;
};

/**
 * Diff entry for non-list fields.
 */
export type ScalarFieldDiff = {
    field_path: string;
    before: unknown;
    after: unknown;
};

/**
 * Serializable representation of the current session.
 */
export type SessionResponse = {
    /**
     * Session identifier.
     */
    id: string;
    /**
     * Timestamp when the session was created.
     */
    created_at: string;
    /**
     * Timestamp when the session will expire.
     */
    expires_at: string;
    /**
     * Timestamp when the session was last accessed.
     */
    last_accessed: string;
};

/**
 * The ``masterdata.smda`` block contains SMDA-related attributes.
 */
export type Smda = {
    coordinate_system: CoordinateSystem;
    country: Array<CountryItem>;
    discovery: Array<DiscoveryItem>;
    field: Array<FieldItem>;
    stratigraphic_column: StratigraphicColumn;
};

/**
 * An identifier for a field to be searched for.
 */
export type SmdaField = {
    /**
     * A field identifier (name).
     */
    identifier: string;
};

/**
 * The search result of a field identifier result.
 */
export type SmdaFieldSearchResult = {
    /**
     * The number of hits from the field search.
     */
    hits: number;
    /**
     * The number of pages of hits.
     */
    pages: number;
    /**
     * A list of field identifier results from the search.
     */
    results: Array<SmdaFieldUuid>;
};

/**
 * Name-UUID identifier for a field as known by SMDA.
 */
export type SmdaFieldUuid = {
    /**
     * A field identifier (name).
     */
    identifier: string;
    /**
     * The SMDA UUID identifier corresponding to the field identifier.
     */
    uuid: string;
};

/**
 * Contains SMDA-related attributes.
 */
export type SmdaMasterdataResult = {
    /**
     * A list referring to fields known to SMDA. First item is primary.
     */
    field: Array<FieldItem>;
    /**
     * A list referring to countries known to SMDA. First item is primary.
     */
    country: Array<CountryItem>;
    /**
     * A list referring to discoveries known to SMDA. First item is primary.
     */
    discovery: Array<DiscoveryItem>;
    /**
     * Reference to stratigraphic column known to SMDA.
     */
    stratigraphic_columns: Array<StratigraphicColumn>;
    /**
     * The primary field's coordinate system.
     *
     * This coordinate system may not be the coordinate system users use in their model.
     */
    field_coordinate_system: CoordinateSystem;
    /**
     * A list of all coordinate systems known to SMDA.
     *
     * These are provided when the user needs to select a different coordinate system that
     * applies to the model they are working on.
     */
    coordinate_systems: Array<CoordinateSystem>;
};

/**
 * An identifier for a stratigraphic column.
 */
export type SmdaStratColumn = {
    /**
     * A stratigraphic column identifier.
     */
    strat_column_identifier: string;
};

/**
 * Result containing a list of stratigraphic units.
 */
export type SmdaStratigraphicUnitsResult = {
    /**
     * List of stratigraphic units from SMDA.
     */
    stratigraphic_units: Array<StratigraphicUnit>;
};

/**
 * The ``masterdata.smda.stratigraphic_column`` block contains the
 * stratigraphic column known to SMDA.
 */
export type StratigraphicColumn = {
    identifier: string;
    uuid: string;
};

/**
 * Stratigraphic unit item.
 */
export type StratigraphicUnit = {
    /**
     * The stratigraphic unit identifier (name).
     */
    identifier: string;
    /**
     * The SMDA UUID identifier corresponding to the stratigraphic unit.
     */
    uuid: string;
    /**
     * The type of stratigraphic unit.
     */
    strat_unit_type: string;
    /**
     * The hierarchical level of the stratigraphic unit (1-6).
     */
    strat_unit_level: number;
    /**
     * The identifier (name) of the stratigraphic unit top pick (horizon).
     */
    top: string;
    /**
     * The identifier (name) of the stratigraphic unit base pick (horizon).
     */
    base: string;
    /**
     * The age (in Ma) at the top of the stratigraphic unit.
     */
    top_age: number;
    /**
     * The age (in Ma) at the base of the stratigraphic unit.
     */
    base_age: number;
    /**
     * The parent stratigraphic unit identifier, if applicable.
     */
    strat_unit_parent: string | null;
    /**
     * The type of stratigraphic column this unit belongs to.
     */
    strat_column_type: 'lithostratigraphy' | 'sequence stratigraphy' | 'chronostratigraphy' | 'biostratigraphy';
    /**
     * The HTML hex color code for visualization.
     */
    color_html?: string | null;
    /**
     * The red component of the RGB color.
     */
    color_r: number | null;
    /**
     * The green component of the RGB color.
     */
    color_g: number | null;
    /**
     * The blue component of the RGB color.
     */
    color_b: number | null;
};

/**
 * Represents a stratigraphy mapping.
 *
 * This is a mapping from stratigraphic identifiers (tops, zones, etc.) to official
 * identifiers in SMDA.
 */
export type StratigraphyIdentifierMapping = {
    source_system: DataSystem;
    target_system: DataSystem;
    mapping_type?: 'stratigraphy';
    relation_type: RelationType;
    source_id: string;
    source_uuid?: string | null;
    target_id: string;
    target_uuid?: string | null;
};

/**
 * A valid asset in Sumo.
 */
export type SumoAsset = {
    /**
     * Name of the asset in Sumo.
     */
    name: string;
    /**
     * Code of the asset in Sumo.
     */
    code: string;
    /**
     * Roleprefix of the asset in Sumo.
     */
    roleprefix: string;
};

/**
 * Known API keys stored in a user config.
 */
export type UserApiKeys = {
    smda_subscription?: string | null;
};

/**
 * The configuration file in a $HOME/.fmu directory.
 *
 * Stored as config.json.
 */
export type UserConfig = {
    version: string;
    created_at: string;
    last_modified_at?: string | null;
    cache_max_revisions?: number;
    user_api_keys: UserApiKeys;
    recent_project_directories: Array<string>;
};

export type ValidationError = {
    loc: Array<string | number>;
    msg: string;
    type: string;
    input?: unknown;
    ctx?: {
        [key: string]: unknown;
    };
};

export type ProjectDeleteProjectSessionData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/project/';
};

export type ProjectDeleteProjectSessionErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectDeleteProjectSessionError = ProjectDeleteProjectSessionErrors[keyof ProjectDeleteProjectSessionErrors];

export type ProjectDeleteProjectSessionResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectDeleteProjectSessionResponse = ProjectDeleteProjectSessionResponses[keyof ProjectDeleteProjectSessionResponses];

export type ProjectGetProjectData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/project/';
};

export type ProjectGetProjectErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectGetProjectError = ProjectGetProjectErrors[keyof ProjectGetProjectErrors];

export type ProjectGetProjectResponses = {
    /**
     * Successful Response
     */
    200: FmuProject;
};

export type ProjectGetProjectResponse = ProjectGetProjectResponses[keyof ProjectGetProjectResponses];

export type ProjectPostProjectData = {
    body: FmuDirPath;
    path?: never;
    query?: never;
    url: '/api/v1/project/';
};

export type ProjectPostProjectErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     *
     * A project .fmu directory already exist at a given location, or may
     * possibly not be a directory, i.e. it may be a .fmu file.
     *
     */
    409: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPostProjectError = ProjectPostProjectErrors[keyof ProjectPostProjectErrors];

export type ProjectPostProjectResponses = {
    /**
     * Successful Response
     */
    200: FmuProject;
};

export type ProjectPostProjectResponse = ProjectPostProjectResponses[keyof ProjectPostProjectResponses];

export type ProjectGetSumoAssetsData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/project/sumo_assets';
};

export type ProjectGetSumoAssetsErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Sumo assets file not found
     */
    404: unknown;
    /**
     * Invalid file content in Sumo assets file
     */
    422: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectGetSumoAssetsResponses = {
    /**
     * Successful Response
     */
    200: Array<SumoAsset>;
};

export type ProjectGetSumoAssetsResponse = ProjectGetSumoAssetsResponses[keyof ProjectGetSumoAssetsResponses];

export type ProjectGetGlobalConfigStatusData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/project/global_config_status';
};

export type ProjectGetGlobalConfigStatusErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     *
     * The global config file was not found at a given location.
     *
     */
    404: unknown;
    /**
     *
     * The project .fmu config already contains masterdata.
     *
     */
    409: unknown;
    /**
     *
     * The global config file did not validate against the
     * GlobalConfiguration Pydantic model.
     *
     */
    422: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectGetGlobalConfigStatusResponses = {
    /**
     * Successful Response
     */
    200: Ok;
};

export type ProjectGetGlobalConfigStatusResponse = ProjectGetGlobalConfigStatusResponses[keyof ProjectGetGlobalConfigStatusResponses];

export type ProjectPostInitProjectData = {
    body: FmuDirPath;
    path?: never;
    query?: never;
    url: '/api/v1/project/init';
};

export type ProjectPostInitProjectErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     *
     * A project .fmu directory already exist at a given location, or may
     * possibly not be a directory, i.e. it may be a .fmu file.
     *
     */
    409: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPostInitProjectError = ProjectPostInitProjectErrors[keyof ProjectPostInitProjectErrors];

export type ProjectPostInitProjectResponses = {
    /**
     * Successful Response
     */
    200: FmuProject;
};

export type ProjectPostInitProjectResponse = ProjectPostInitProjectResponses[keyof ProjectPostInitProjectResponses];

export type ProjectPostGlobalConfigData = {
    body?: GlobalConfigPath | null;
    path?: never;
    query?: never;
    url: '/api/v1/project/global_config';
};

export type ProjectPostGlobalConfigErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     *
     * The global config file was not found at a given location.
     *
     */
    404: unknown;
    /**
     *
     * The project .fmu config already contains masterdata.
     *
     */
    409: unknown;
    /**
     *
     * The global config file did not validate against the
     * GlobalConfiguration Pydantic model.
     *
     */
    422: unknown;
    /**
     *
     * The project is locked by another process and cannot be modified.
     * The project can still be read but write operations are blocked.
     *
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPostGlobalConfigResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPostGlobalConfigResponse = ProjectPostGlobalConfigResponses[keyof ProjectPostGlobalConfigResponses];

export type ProjectPostLockAcquireData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/project/lock_acquire';
};

export type ProjectPostLockAcquireErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPostLockAcquireError = ProjectPostLockAcquireErrors[keyof ProjectPostLockAcquireErrors];

export type ProjectPostLockAcquireResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPostLockAcquireResponse = ProjectPostLockAcquireResponses[keyof ProjectPostLockAcquireResponses];

export type ProjectPostLockReleaseData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/project/lock_release';
};

export type ProjectPostLockReleaseErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPostLockReleaseError = ProjectPostLockReleaseErrors[keyof ProjectPostLockReleaseErrors];

export type ProjectPostLockReleaseResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPostLockReleaseResponse = ProjectPostLockReleaseResponses[keyof ProjectPostLockReleaseResponses];

export type ProjectPostLockRefreshData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/project/lock_refresh';
};

export type ProjectPostLockRefreshErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPostLockRefreshError = ProjectPostLockRefreshErrors[keyof ProjectPostLockRefreshErrors];

export type ProjectPostLockRefreshResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPostLockRefreshResponse = ProjectPostLockRefreshResponses[keyof ProjectPostLockRefreshResponses];

export type ProjectGetLockStatusData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/project/lock_status';
};

export type ProjectGetLockStatusErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectGetLockStatusError = ProjectGetLockStatusErrors[keyof ProjectGetLockStatusErrors];

export type ProjectGetLockStatusResponses = {
    /**
     * Successful Response
     */
    200: LockStatus;
};

export type ProjectGetLockStatusResponse = ProjectGetLockStatusResponses[keyof ProjectGetLockStatusResponses];

export type ProjectPatchMasterdataData = {
    body: Smda;
    path?: never;
    query?: never;
    url: '/api/v1/project/masterdata';
};

export type ProjectPatchMasterdataErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     *
     * The project is locked by another process and cannot be modified.
     * The project can still be read but write operations are blocked.
     *
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPatchMasterdataError = ProjectPatchMasterdataErrors[keyof ProjectPatchMasterdataErrors];

export type ProjectPatchMasterdataResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPatchMasterdataResponse = ProjectPatchMasterdataResponses[keyof ProjectPatchMasterdataResponses];

export type ProjectPatchModelData = {
    body: Model;
    path?: never;
    query?: never;
    url: '/api/v1/project/model';
};

export type ProjectPatchModelErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     *
     * The project is locked by another process and cannot be modified.
     * The project can still be read but write operations are blocked.
     *
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPatchModelError = ProjectPatchModelErrors[keyof ProjectPatchModelErrors];

export type ProjectPatchModelResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPatchModelResponse = ProjectPatchModelResponses[keyof ProjectPatchModelResponses];

export type ProjectPatchAccessData = {
    body: Access;
    path?: never;
    query?: never;
    url: '/api/v1/project/access';
};

export type ProjectPatchAccessErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     *
     * The project is locked by another process and cannot be modified.
     * The project can still be read but write operations are blocked.
     *
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPatchAccessError = ProjectPatchAccessErrors[keyof ProjectPatchAccessErrors];

export type ProjectPatchAccessResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPatchAccessResponse = ProjectPatchAccessResponses[keyof ProjectPatchAccessResponses];

export type ProjectPatchCacheMaxRevisionsData = {
    body: CacheRetention;
    path?: never;
    query?: never;
    url: '/api/v1/project/cache_max_revisions';
};

export type ProjectPatchCacheMaxRevisionsErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     *
     * The project is locked by another process and cannot be modified.
     * The project can still be read but write operations are blocked.
     *
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPatchCacheMaxRevisionsError = ProjectPatchCacheMaxRevisionsErrors[keyof ProjectPatchCacheMaxRevisionsErrors];

export type ProjectPatchCacheMaxRevisionsResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPatchCacheMaxRevisionsResponse = ProjectPatchCacheMaxRevisionsResponses[keyof ProjectPatchCacheMaxRevisionsResponses];

export type ProjectGetRmsProjectsData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/project/rms_projects';
};

export type ProjectGetRmsProjectsErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectGetRmsProjectsError = ProjectGetRmsProjectsErrors[keyof ProjectGetRmsProjectsErrors];

export type ProjectGetRmsProjectsResponses = {
    /**
     * Successful Response
     */
    200: RmsProjectPathsResult;
};

export type ProjectGetRmsProjectsResponse = ProjectGetRmsProjectsResponses[keyof ProjectGetRmsProjectsResponses];

export type ProjectPatchRmsData = {
    body: RmsProjectPath;
    path?: never;
    query?: never;
    url: '/api/v1/project/rms';
};

export type ProjectPatchRmsErrors = {
    /**
     * The RMS version in the project is not supported
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     *
     * The project is locked by another process and cannot be modified.
     * The project can still be read but write operations are blocked.
     *
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPatchRmsError = ProjectPatchRmsErrors[keyof ProjectPatchRmsErrors];

export type ProjectPatchRmsResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPatchRmsResponse = ProjectPatchRmsResponses[keyof ProjectPatchRmsResponses];

export type ProjectPatchRmsCoordinateSystemData = {
    body: RmsCoordinateSystem;
    path?: never;
    query?: never;
    url: '/api/v1/project/rms/coordinate_system';
};

export type ProjectPatchRmsCoordinateSystemErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     *
     * RMS project path must be set before updating RMS fields.
     *
     */
    422: unknown;
    /**
     *
     * The project is locked by another process and cannot be modified.
     * The project can still be read but write operations are blocked.
     *
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPatchRmsCoordinateSystemResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPatchRmsCoordinateSystemResponse = ProjectPatchRmsCoordinateSystemResponses[keyof ProjectPatchRmsCoordinateSystemResponses];

export type ProjectPatchRmsStratigraphicFrameworkData = {
    body: RmsStratigraphicFramework;
    path?: never;
    query?: never;
    url: '/api/v1/project/rms/stratigraphic_framework';
};

export type ProjectPatchRmsStratigraphicFrameworkErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     *
     * The RMS stratigraphic framework did not validate.
     *
     */
    422: unknown;
    /**
     *
     * The project is locked by another process and cannot be modified.
     * The project can still be read but write operations are blocked.
     *
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPatchRmsStratigraphicFrameworkResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPatchRmsStratigraphicFrameworkResponse = ProjectPatchRmsStratigraphicFrameworkResponses[keyof ProjectPatchRmsStratigraphicFrameworkResponses];

export type ProjectPatchRmsWellsData = {
    body: Array<RmsWell>;
    path?: never;
    query?: never;
    url: '/api/v1/project/rms/wells';
};

export type ProjectPatchRmsWellsErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     *
     * RMS project path must be set before updating RMS fields.
     *
     */
    422: unknown;
    /**
     *
     * The project is locked by another process and cannot be modified.
     * The project can still be read but write operations are blocked.
     *
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPatchRmsWellsResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPatchRmsWellsResponse = ProjectPatchRmsWellsResponses[keyof ProjectPatchRmsWellsResponses];

export type ProjectGetCacheData = {
    body?: never;
    path?: never;
    query: {
        resource: CacheResource;
    };
    url: '/api/v1/project/cache';
};

export type ProjectGetCacheErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectGetCacheError = ProjectGetCacheErrors[keyof ProjectGetCacheErrors];

export type ProjectGetCacheResponses = {
    /**
     * Successful Response
     */
    200: CacheList;
};

export type ProjectGetCacheResponse = ProjectGetCacheResponses[keyof ProjectGetCacheResponses];

export type ProjectGetCacheRevisionData = {
    body?: never;
    path: {
        revision_id: string;
    };
    query: {
        resource: CacheResource;
    };
    url: '/api/v1/project/cache/{revision_id}';
};

export type ProjectGetCacheRevisionErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     * Cache revision not found for the specified resource
     */
    404: unknown;
    /**
     * Cache revision failed validation or not supported for the specified resource
     */
    422: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectGetCacheRevisionResponses = {
    /**
     * Successful Response
     */
    200: CacheContent;
};

export type ProjectGetCacheRevisionResponse = ProjectGetCacheRevisionResponses[keyof ProjectGetCacheRevisionResponses];

export type ProjectGetCacheDiffData = {
    body?: never;
    path: {
        revision_id: string;
    };
    query: {
        resource: CacheResource;
    };
    url: '/api/v1/project/cache/diff/{revision_id}';
};

export type ProjectGetCacheDiffErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     * Cache revision not found for the specified resource
     */
    404: unknown;
    /**
     * Cache revision failed validation or not supported for the specified resource
     */
    422: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectGetCacheDiffResponses = {
    /**
     * Successful Response
     */
    200: Array<ScalarFieldDiff | ListFieldDiff>;
};

export type ProjectGetCacheDiffResponse = ProjectGetCacheDiffResponses[keyof ProjectGetCacheDiffResponses];

export type ProjectPostCacheRestoreData = {
    body?: never;
    path: {
        revision_id: string;
    };
    query: {
        resource: CacheResource;
    };
    url: '/api/v1/project/cache/restore/{revision_id}';
};

export type ProjectPostCacheRestoreErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     * Cache revision not found for the specified resource
     */
    404: unknown;
    /**
     * Cache revision failed validation or not supported for the specified resource
     */
    422: unknown;
    /**
     *
     * The project is locked by another process and cannot be modified.
     * The project can still be read but write operations are blocked.
     *
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPostCacheRestoreResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPostCacheRestoreResponse = ProjectPostCacheRestoreResponses[keyof ProjectPostCacheRestoreResponses];

export type ProjectGetMappingsData = {
    body?: never;
    path: {
        mapping_type: MappingType;
        source_system: DataSystem;
        target_system: DataSystem;
    };
    query?: never;
    url: '/api/v1/project/mappings/{mapping_type}/{source_system}/{target_system}';
};

export type ProjectGetMappingsErrors = {
    /**
     * Invalid mapping data or unsupported mapping type
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     * Mappings resource file not found
     */
    404: unknown;
    /**
     *
     * Mappings resource contains invalid content or corrupted JSON.
     *
     */
    422: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectGetMappingsResponses = {
    /**
     * Successful Response
     */
    200: Array<MappingGroup>;
};

export type ProjectGetMappingsResponse = ProjectGetMappingsResponses[keyof ProjectGetMappingsResponses];

export type ProjectPutMappingsData = {
    body: Array<{
        mapping_type?: 'stratigraphy';
    } & StratigraphyIdentifierMapping>;
    path: {
        mapping_type: MappingType;
        source_system: DataSystem;
        target_system: DataSystem;
    };
    query?: never;
    url: '/api/v1/project/mappings/{mapping_type}/{source_system}/{target_system}';
};

export type ProjectPutMappingsErrors = {
    /**
     * Invalid mapping data or unsupported mapping type
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     * Mappings resource file not found
     */
    404: unknown;
    /**
     *
     * Mappings resource contains invalid content or corrupted JSON.
     *
     */
    422: unknown;
    /**
     *
     * The project is locked by another process and cannot be modified.
     * The project can still be read but write operations are blocked.
     *
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectPutMappingsResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type ProjectPutMappingsResponse = ProjectPutMappingsResponses[keyof ProjectPutMappingsResponses];

export type ProjectGetChangelogData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/project/changelog';
};

export type ProjectGetChangelogErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     * Changelog file not found
     */
    404: unknown;
    /**
     * Invalid changelog data
     */
    422: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type ProjectGetChangelogResponses = {
    /**
     * Successful Response
     */
    200: LogChangeInfo;
};

export type ProjectGetChangelogResponse = ProjectGetChangelogResponses[keyof ProjectGetChangelogResponses];

export type UserGetUserData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/user/';
};

export type UserGetUserErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type UserGetUserError = UserGetUserErrors[keyof UserGetUserErrors];

export type UserGetUserResponses = {
    /**
     * Successful Response
     */
    200: UserConfig;
};

export type UserGetUserResponse = UserGetUserResponses[keyof UserGetUserResponses];

export type UserPatchApiKeyData = {
    body: ApiKeyWritable;
    path?: never;
    query?: never;
    url: '/api/v1/user/api_key';
};

export type UserPatchApiKeyErrors = {
    /**
     *
     * Occurs when trying to save a key to an unknown API. An API is unknown
     * if it is not a predefined field in the fmu-settings UserAPIKeys model.
     *
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * The OS returned a permissions error while locating or creating .fmu
     */
    403: unknown;
    /**
     *
     * The .fmu directory was unable to be found at or above a given path, or
     * the requested path to create a project .fmu directory at does not exist.
     *
     */
    404: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type UserPatchApiKeyError = UserPatchApiKeyErrors[keyof UserPatchApiKeyErrors];

export type UserPatchApiKeyResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type UserPatchApiKeyResponse = UserPatchApiKeyResponses[keyof UserPatchApiKeyResponses];

export type SessionGetSessionData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/session/';
};

export type SessionGetSessionErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type SessionGetSessionError = SessionGetSessionErrors[keyof SessionGetSessionErrors];

export type SessionGetSessionResponses = {
    /**
     * Successful Response
     */
    200: SessionResponse;
};

export type SessionGetSessionResponse = SessionGetSessionResponses[keyof SessionGetSessionResponses];

export type SessionPostSessionData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/session/';
};

export type SessionPostSessionErrors = {
    /**
     *
     * Occurs when no token or an invalid token is or is not provided
     * with the x-fmu-settings-api header.
     *
     */
    401: unknown;
    /**
     *
     * Will occur if the operating system claims the user does not have
     * permission to create $HOME/.fmu. If returned something very wrong
     * is happening.
     *
     */
    403: unknown;
    /**
     *
     * Occurs in two cases:
     *
     * - When attempting to create a session when one already exists
     * - When trying to create a user .fmu directory, but it already
     * exists. Typically means that .fmu exists as a file.
     *
     */
    409: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type SessionPostSessionError = SessionPostSessionErrors[keyof SessionPostSessionErrors];

export type SessionPostSessionResponses = {
    /**
     * Successful Response
     */
    200: SessionResponse;
};

export type SessionPostSessionResponse = SessionPostSessionResponses[keyof SessionPostSessionResponses];

export type SessionPatchAccessTokenData = {
    body: AccessTokenWritable;
    path?: never;
    query?: never;
    url: '/api/v1/session/access_token';
};

export type SessionPatchAccessTokenErrors = {
    /**
     *
     * Occurs when trying to save a key to an unknown access scope. An
     * access scope/token is unknown if it is not a predefined field in the
     * the session manager's 'AccessTokens' model.
     *
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type SessionPatchAccessTokenError = SessionPatchAccessTokenErrors[keyof SessionPatchAccessTokenErrors];

export type SessionPatchAccessTokenResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type SessionPatchAccessTokenResponse = SessionPatchAccessTokenResponses[keyof SessionPatchAccessTokenResponses];

export type SessionPostRestoreData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/session/restore';
};

export type SessionPostRestoreErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Permission denied while restoring a .fmu directory
     */
    403: unknown;
    /**
     * A .fmu path exists but is not a directory
     */
    409: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Project is locked by another process and cannot be restored
     */
    423: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type SessionPostRestoreError = SessionPostRestoreErrors[keyof SessionPostRestoreErrors];

export type SessionPostRestoreResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type SessionPostRestoreResponse = SessionPostRestoreResponses[keyof SessionPostRestoreResponses];

export type RmsDeleteRmsProjectData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/rms/';
};

export type RmsDeleteRmsProjectErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type RmsDeleteRmsProjectError = RmsDeleteRmsProjectErrors[keyof RmsDeleteRmsProjectErrors];

export type RmsDeleteRmsProjectResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type RmsDeleteRmsProjectResponse = RmsDeleteRmsProjectResponses[keyof RmsDeleteRmsProjectResponses];

export type RmsPostRmsProjectData = {
    body?: RmsVersion | null;
    path?: never;
    query?: never;
    url: '/api/v1/rms/';
};

export type RmsPostRmsProjectErrors = {
    /**
     * RMS project path is not configured in the project config file.
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * RMS project does not exist at the configured path.
     */
    404: unknown;
    /**
     * Failed to open RMS project {rms_project_path}.
     */
    422: unknown;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type RmsPostRmsProjectResponses = {
    /**
     * Successful Response
     */
    200: Message;
};

export type RmsPostRmsProjectResponse = RmsPostRmsProjectResponses[keyof RmsPostRmsProjectResponses];

export type RmsGetZonesData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/rms/zones';
};

export type RmsGetZonesErrors = {
    /**
     *
     * RMS project path is not configured in the project config file,
     * or no RMS project is currently open in the session.
     *
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type RmsGetZonesError = RmsGetZonesErrors[keyof RmsGetZonesErrors];

export type RmsGetZonesResponses = {
    /**
     * Successful Response
     */
    200: Array<RmsStratigraphicZone>;
};

export type RmsGetZonesResponse = RmsGetZonesResponses[keyof RmsGetZonesResponses];

export type RmsGetHorizonsData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/rms/horizons';
};

export type RmsGetHorizonsErrors = {
    /**
     *
     * RMS project path is not configured in the project config file,
     * or no RMS project is currently open in the session.
     *
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type RmsGetHorizonsError = RmsGetHorizonsErrors[keyof RmsGetHorizonsErrors];

export type RmsGetHorizonsResponses = {
    /**
     * Successful Response
     */
    200: Array<RmsHorizon>;
};

export type RmsGetHorizonsResponse = RmsGetHorizonsResponses[keyof RmsGetHorizonsResponses];

export type RmsGetWellsData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/rms/wells';
};

export type RmsGetWellsErrors = {
    /**
     *
     * RMS project path is not configured in the project config file,
     * or no RMS project is currently open in the session.
     *
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type RmsGetWellsError = RmsGetWellsErrors[keyof RmsGetWellsErrors];

export type RmsGetWellsResponses = {
    /**
     * Successful Response
     */
    200: Array<RmsWell>;
};

export type RmsGetWellsResponse = RmsGetWellsResponses[keyof RmsGetWellsResponses];

export type RmsGetCoordinateSystemData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/rms/coordinate_system';
};

export type RmsGetCoordinateSystemErrors = {
    /**
     *
     * RMS project path is not configured in the project config file,
     * or no RMS project is currently open in the session.
     *
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type RmsGetCoordinateSystemError = RmsGetCoordinateSystemErrors[keyof RmsGetCoordinateSystemErrors];

export type RmsGetCoordinateSystemResponses = {
    /**
     * Successful Response
     */
    200: RmsCoordinateSystem;
};

export type RmsGetCoordinateSystemResponse = RmsGetCoordinateSystemResponses[keyof RmsGetCoordinateSystemResponses];

export type SmdaGetHealthData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/smda/health';
};

export type SmdaGetHealthErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
    /**
     * SMDA API is unreachable or returns an error
     */
    503: unknown;
};

export type SmdaGetHealthError = SmdaGetHealthErrors[keyof SmdaGetHealthErrors];

export type SmdaGetHealthResponses = {
    /**
     * Successful Response
     */
    200: Ok;
};

export type SmdaGetHealthResponse = SmdaGetHealthResponses[keyof SmdaGetHealthResponses];

export type SmdaPostFieldData = {
    body: SmdaField;
    path?: never;
    query?: never;
    url: '/api/v1/smda/field';
};

export type SmdaPostFieldErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * SMDA returns a malformed response
     */
    500: unknown;
    /**
     * An API call to SMDA times out or fails
     */
    503: unknown;
};

export type SmdaPostFieldError = SmdaPostFieldErrors[keyof SmdaPostFieldErrors];

export type SmdaPostFieldResponses = {
    /**
     * Successful Response
     */
    200: SmdaFieldSearchResult;
};

export type SmdaPostFieldResponse = SmdaPostFieldResponses[keyof SmdaPostFieldResponses];

export type SmdaPostMasterdataData = {
    body: Array<SmdaField>;
    path?: never;
    query?: never;
    url: '/api/v1/smda/masterdata';
};

export type SmdaPostMasterdataErrors = {
    /**
     * Invalid parameters are provided to SMDA API
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * A requested resource is not found in SMDA
     */
    404: unknown;
    /**
     *
     * SMDA returns valid data but it doesn't meet expected criteria,
     * or no results are found for a valid query.
     *
     */
    422: unknown;
    /**
     *
     * SMDA returns a malformed response that doesn't match
     * the expected structure.
     *
     */
    500: unknown;
    /**
     *
     * An API call to SMDA times out or the service is unavailable.
     *
     */
    503: unknown;
};

export type SmdaPostMasterdataResponses = {
    /**
     * Successful Response
     */
    200: SmdaMasterdataResult;
};

export type SmdaPostMasterdataResponse = SmdaPostMasterdataResponses[keyof SmdaPostMasterdataResponses];

export type SmdaPostStratUnitsData = {
    body: SmdaStratColumn;
    path?: never;
    query?: never;
    url: '/api/v1/smda/strat_units';
};

export type SmdaPostStratUnitsErrors = {
    /**
     * Invalid parameters are provided to SMDA API
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * A requested resource is not found in SMDA
     */
    404: unknown;
    /**
     *
     * SMDA returns valid data but it doesn't meet expected criteria,
     * or no results are found for a valid query.
     *
     */
    422: unknown;
    /**
     *
     * SMDA returns a malformed response that doesn't match
     * the expected structure.
     *
     */
    500: unknown;
    /**
     *
     * An API call to SMDA times out or the service is unavailable.
     *
     */
    503: unknown;
};

export type SmdaPostStratUnitsResponses = {
    /**
     * Successful Response
     */
    200: SmdaStratigraphicUnitsResult;
};

export type SmdaPostStratUnitsResponse = SmdaPostStratUnitsResponses[keyof SmdaPostStratUnitsResponses];

export type MatchGetStratigraphyData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/match/stratigraphy';
};

export type MatchGetStratigraphyErrors = {
    /**
     *
     * Required configuration is missing from the project config,
     * or invalid parameters are provided.
     *
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     *
     * SMDA returns valid data but no results are found,
     * or configuration exists but contains no matchable data.
     *
     */
    422: unknown;
    /**
     *
     * SMDA returns a malformed response that doesn't match
     * the expected structure.
     *
     */
    500: unknown;
    /**
     *
     * An API call to SMDA times out or the service is unavailable.
     *
     */
    503: unknown;
};

export type MatchGetStratigraphyResponses = {
    /**
     * Successful Response
     */
    200: Array<RmsStratigraphyMatch>;
};

export type MatchGetStratigraphyResponse = MatchGetStratigraphyResponses[keyof MatchGetStratigraphyResponses];

export type MatchGetCoordinateSystemData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/match/coordinate_system';
};

export type MatchGetCoordinateSystemErrors = {
    /**
     * Required configuration is missing from the project config.
     */
    400: unknown;
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type MatchGetCoordinateSystemError = MatchGetCoordinateSystemErrors[keyof MatchGetCoordinateSystemErrors];

export type MatchGetCoordinateSystemResponses = {
    /**
     * Successful Response
     */
    200: RmsCoordinateSystemMatch;
};

export type MatchGetCoordinateSystemResponse = MatchGetCoordinateSystemResponses[keyof MatchGetCoordinateSystemResponses];

export type HealthV1HealthCheckData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/api/v1/health';
};

export type HealthV1HealthCheckErrors = {
    /**
     * No active or valid session was found
     */
    401: unknown;
    /**
     * Validation Error
     */
    422: HttpValidationError;
    /**
     * Something unexpected has happened
     */
    500: unknown;
};

export type HealthV1HealthCheckError = HealthV1HealthCheckErrors[keyof HealthV1HealthCheckErrors];

export type HealthV1HealthCheckResponses = {
    /**
     * Successful Response
     */
    200: Ok;
};

export type HealthV1HealthCheckResponse = HealthV1HealthCheckResponses[keyof HealthV1HealthCheckResponses];

export type HealthHealthCheckData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/health';
};

export type HealthHealthCheckResponses = {
    /**
     * Successful Response
     */
    200: Ok;
};

export type HealthHealthCheckResponse = HealthHealthCheckResponses[keyof HealthHealthCheckResponses];

export type ClientOptions = {
    baseURL: 'http://localhost:8001' | (string & {});
};