/** This file was automatically generated by hyperschema-to-ts: DO NOT MODIFY IT BY HAND. */
/**
 * JSON API type field
 *
 * This interface was referenced by `Role`'s JSON-Schema via the `definition` "type".
 */
export declare type RoleType = 'role';
/**
 * ID of role
 *
 * This interface was referenced by `Role`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Role`'s JSON-Schema via the `definition` "id".
 */
export declare type RoleIdentity = string;
/**
 * ID of item type
 *
 * This interface was referenced by `ModelBlock`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `ModelBlock`'s JSON-Schema via the `definition` "id".
 */
export declare type ItemTypeIdentity = string;
/**
 * ID of workflow
 *
 * This interface was referenced by `Workflow`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Workflow`'s JSON-Schema via the `definition` "id".
 */
export declare type WorkflowIdentity = string;
/**
 * ID of environment. Can only contain lowercase letters, numbers and dashes
 *
 * This interface was referenced by `Environment`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Environment`'s JSON-Schema via the `definition` "id".
 */
export declare type EnvironmentIdentity = string;
/**
 * ID of build_trigger
 *
 * This interface was referenced by `BuildTrigger`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `BuildTrigger`'s JSON-Schema via the `definition` "id".
 */
export declare type BuildTriggerIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `User`'s JSON-Schema via the `definition` "type".
 */
export declare type UserType = 'user';
/**
 * ID of collaborator
 *
 * This interface was referenced by `User`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `User`'s JSON-Schema via the `definition` "id".
 */
export declare type UserIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `SsoUser`'s JSON-Schema via the `definition` "type".
 */
export declare type SsoUserType = 'sso_user';
/**
 * ID of user
 *
 * This interface was referenced by `SsoUser`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `SsoUser`'s JSON-Schema via the `definition` "id".
 */
export declare type SsoUserIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `SsoGroup`'s JSON-Schema via the `definition` "type".
 */
export declare type SsoGroupType = 'sso_group';
/**
 * ID of group
 *
 * This interface was referenced by `SsoGroup`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `SsoGroup`'s JSON-Schema via the `definition` "id".
 */
export declare type SsoGroupIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the `definition` "type".
 */
export declare type AuditLogEventType = 'audit_log_event';
/**
 * ULID of event (https://github.com/ulid/spec)
 *
 * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the `definition` "id".
 */
export declare type AuditLogEventIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `Account`'s JSON-Schema via the `definition` "type".
 */
export declare type AccountType = 'account';
/**
 * ID of account
 *
 * This interface was referenced by `Account`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Account`'s JSON-Schema via the `definition` "id".
 */
export declare type AccountIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `SitePlan`'s JSON-Schema via the `definition` "type".
 */
export declare type SitePlanType = 'site_plan';
/**
 * ID of plan
 *
 * This interface was referenced by `SitePlan`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `SitePlan`'s JSON-Schema via the `definition` "id".
 */
export declare type SitePlanIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `MenuItem`'s JSON-Schema via the `definition` "type".
 */
export declare type MenuItemType = 'menu_item';
/**
 * ID of menu item
 *
 * This interface was referenced by `MenuItem`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `MenuItem`'s JSON-Schema via the `definition` "id".
 */
export declare type MenuItemIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `ModelBlock`'s JSON-Schema via the `definition` "type".
 */
export declare type ItemTypeType = 'item_type';
/** This interface was referenced by `MenuItem`'s JSON-Schema via the `instances.hrefSchema` link. */
export declare type MenuItemInstancesHrefSchema = {
    filter?: {
        /** IDs to fetch, comma separated */
        ids: string;
    };
};
/**
 * JSON API type field
 *
 * This interface was referenced by `Item`'s JSON-Schema via the `definition` "type".
 */
export declare type ItemType = 'item';
/**
 * ID of record
 *
 * This interface was referenced by `Item`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Item`'s JSON-Schema via the `definition` "id".
 */
export declare type ItemIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `Field`'s JSON-Schema via the `definition` "type".
 */
export declare type FieldType = 'field';
/**
 * ID of field
 *
 * This interface was referenced by `Field`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Field`'s JSON-Schema via the `definition` "id".
 */
export declare type FieldIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `Workflow`'s JSON-Schema via the `definition` "type".
 */
export declare type WorkflowType = 'workflow';
/**
 * JSON API type field
 *
 * This interface was referenced by `Job`'s JSON-Schema via the `definition` "type".
 */
export declare type TargetSchemaPropertiesDataType = 'job';
/**
 * ID of job
 *
 * This interface was referenced by `Job`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Job`'s JSON-Schema via the `definition` "id".
 */
export declare type TargetSchemaPropertiesDataIdentity = string;
/**
 * JSON API type fieldset
 *
 * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "type".
 */
export declare type FieldsetType = 'fieldset';
/**
 * ID of fieldset
 *
 * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "id".
 */
export declare type FieldsetIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `Session`'s JSON-Schema via the `definition` "type".
 */
export declare type SessionType = 'session';
/**
 * JSON web token for the session
 *
 * This interface was referenced by `Session`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Session`'s JSON-Schema via the `definition` "id".
 */
export declare type SessionIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `AccessToken`'s JSON-Schema via the `definition` "type".
 */
export declare type AccessTokenType = 'access_token';
/**
 * ID of access_token
 *
 * This interface was referenced by `AccessToken`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `AccessToken`'s JSON-Schema via the `definition` "id".
 */
export declare type AccessTokenIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `Plugin`'s JSON-Schema via the `definition` "type".
 */
export declare type PluginType = 'plugin';
/**
 * ID of plugin
 *
 * This interface was referenced by `Plugin`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Plugin`'s JSON-Schema via the `definition` "id".
 */
export declare type PluginIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `JobResult`'s JSON-Schema via the `definition` "type".
 */
export declare type JobResultType = 'job_result';
/**
 * ID of job result
 *
 * This interface was referenced by `JobResult`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `JobResult`'s JSON-Schema via the `definition` "id".
 */
export declare type JobResultIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `SubscriptionLimit`'s JSON-Schema via the `definition` "type".
 */
export declare type SubscriptionLimitType = 'subscription_limit';
/**
 * ID of limit
 *
 * This interface was referenced by `SubscriptionLimit`'s JSON-Schema via the
 * `definition` "identity".
 *
 * This interface was referenced by `SubscriptionLimit`'s JSON-Schema via the `definition` "id".
 */
export declare type SubscriptionLimitIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `SubscriptionFeature`'s JSON-Schema via the
 * `definition` "type".
 */
export declare type SubscriptionFeatureType = 'subscription_feature';
/**
 * ID of feature
 *
 * This interface was referenced by `SubscriptionFeature`'s JSON-Schema via the
 * `definition` "identity".
 *
 * This interface was referenced by `SubscriptionFeature`'s JSON-Schema via the `definition` "id".
 */
export declare type SubscriptionFeatureIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `BuildEvent`'s JSON-Schema via the `definition` "type".
 */
export declare type BuildEventType = 'build_event';
/**
 * ID of menu item
 *
 * This interface was referenced by `BuildEvent`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `BuildEvent`'s JSON-Schema via the `definition` "id".
 */
export declare type BuildEventIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `BuildTrigger`'s JSON-Schema via the `definition` "type".
 */
export declare type BuildTriggerType = 'build_trigger';
/** This interface was referenced by `Item`'s JSON-Schema via the `instances.hrefSchema` link. */
export declare type ItemInstancesHrefSchema = {
    /**
     * For Modular Content fields and Structured Text fields. If set, returns full payload
     * for nested blocks instead of IDs
     */
    nested?: string;
    /** Attributes to filter records */
    filter?: {
        /**
         * Record (or block record) IDs to fetch, comma separated. If you use this filter,
         * you *must not* use `filter[type]` or `filter[fields]`
         */
        ids?: string;
        /**
         * Model ID or `api_key` to filter. If you use this filter, you *must not* use
         * `filter[ids]`. Comma separated values are accepted, but you *must not* use
         * `filter[fields]` in this case
         */
        type?: string;
        /**
         * Textual query to match. You *must not* use `filter[ids]`. If `locale` is defined,
         * search within that locale. Otherwise environment's main locale will be used.
         */
        query?: string;
        /**
         * Same as [GraphQL API records
         * filters](/docs/content-delivery-api/filtering-records). Use snake_case for fields
         * names. If `locale` is defined, search within that locale. Otherwise environment's
         * main locale will be used.
         */
        fields?: {
            [k: string]: unknown;
        };
        [k: string]: unknown;
    };
    /**
     * When `filter[query]` or `field[fields]` is defined, filter by this locale. Default:
     * environment's main locale
     */
    locale?: string;
    /** Attributes to manage results pagination */
    page?: {
        /** Index of first record to fetch. Default: 0 */
        offset?: number;
        /** Number of records to fetch. Maximum is 500 per page, default is 30. */
        limit?: number;
        [k: string]: unknown;
    };
    /**
     * Fields used to order results. You *must* specify also `filter[type]` with one
     * element only to be able use this option. Format:
     * `<field_name>_<DIRECTION(ASC|DESC)>`. You can pass multiple comma separated rules
     */
    order_by?: string;
    /**
     * Whether you want the currently published versions (`published`, default) of your
     * records, or the latest available (`current`)
     */
    version?: string;
    [k: string]: unknown;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `references.hrefSchema` link. */
export declare type ItemReferencesHrefSchema = {
    /**
     * For Modular Content fields and Structured Text fields, return full payload for
     * nested blocks instead of IDs
     */
    nested?: 'true';
    /**
     * Retrieve only the selected type of version that is linked to the record; current,
     * published or both
     */
    version?: null | ('current' | 'published' | 'published-or-current');
    [k: string]: unknown;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `self.hrefSchema` link. */
export declare type ItemSelfHrefSchema = {
    /**
     * For Modular Content fields and Structured Text fields. If set, returns full payload
     * for nested blocks instead of IDs
     */
    nested?: string;
    /**
     * Whether you want the currently published versions (`published`, default) of your
     * records, or the latest available (`current`)
     */
    version?: string;
    [k: string]: unknown;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `batch_destroy.hrefSchema` link. */
export declare type ItemBatchDestroyHrefSchema = {
    /** IDs of records to delete, comma separated */
    'filter[ids]': string;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `batch_publish.hrefSchema` link. */
export declare type ItemBatchPublishHrefSchema = {
    /** IDs of records to publish, comma separated */
    'filter[ids]': string;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `batch_unpublish.hrefSchema` link. */
export declare type ItemBatchUnpublishHrefSchema = {
    /** IDs of records to unpublish, comma separated */
    'filter[ids]': string;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `publish.hrefSchema` link. */
export declare type ItemPublishHrefSchema = {
    /** If the record references other draft records, force a recursive publication */
    recursive?: string;
    [k: string]: unknown;
};
/** This interface was referenced by `Item`'s JSON-Schema via the `unpublish.hrefSchema` link. */
export declare type ItemUnpublishHrefSchema = {
    /** If the record is referenced by other published records, unpublish them recursively */
    recursive?: string;
    [k: string]: unknown;
};
/**
 * JSON API type field
 *
 * This interface was referenced by `ItemVersion`'s JSON-Schema via the `definition` "type".
 */
export declare type ItemVersionType = 'item_version';
/**
 * ID of record version
 *
 * This interface was referenced by `ItemVersion`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `ItemVersion`'s JSON-Schema via the `definition` "id".
 */
export declare type ItemVersionIdentity = string;
/**
 * JSON API type upload
 *
 * This interface was referenced by `Upload`'s JSON-Schema via the `definition` "type".
 */
export declare type UploadType = 'upload';
/**
 * ID of upload
 *
 * This interface was referenced by `Upload`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Upload`'s JSON-Schema via the `definition` "id".
 */
export declare type UploadIdentity = string;
/** This interface was referenced by `Upload`'s JSON-Schema via the `instances.hrefSchema` link. */
export declare type UploadInstancesHrefSchema = {
    /** Attributes to filter uploads */
    filter?: {
        /** IDs to fetch, comma separated */
        ids?: string;
        /**
         * Textual query to match. If `locale` is defined, search within that locale.
         * Otherwise environment's main locale will be used.
         */
        query?: string;
        /**
         * Same as [GraphQL API uploads
         * filters](/docs/content-delivery-api/filtering-uploads). Use snake_case for fields
         * names. If `locale` is defined, search within that locale. Otherwise environment's
         * main locale will be used.
         */
        fields?: {
            [k: string]: unknown;
        };
        [k: string]: unknown;
    };
    /**
     * When `filter[query]` or `field[fields]` is defined, filter by this locale. Default:
     * environment's main locale
     */
    locale?: string;
    /**
     * Fields used to order results. Format: `<field_name>_<DIRECTION(ASC|DESC)>`. You can
     * pass multiple comma separated rules.
     */
    order_by?: string;
    /** Attributes to manage results pagination */
    page?: {
        /** Index of first upload to fetch. Default: 0 */
        offset?: number;
        /** Number of uplads to fetch. Maximum is 500 per page, default is 30. */
        limit?: number;
        [k: string]: unknown;
    };
    [k: string]: unknown;
};
/**
 * This interface was referenced by `Upload`'s JSON-Schema via the
 * `batch_add_tags.hrefSchema` link.
 */
export declare type UploadBatchAddTagsHrefSchema = {
    /** IDs to tag, comma separated */
    'filter[ids]'?: string;
    [k: string]: unknown;
};
/** This interface was referenced by `Upload`'s JSON-Schema via the `batch_destroy.hrefSchema` link. */
export declare type UploadBatchDestroyHrefSchema = {
    /** IDs to destroy, comma separated */
    'filter[ids]'?: string;
    [k: string]: unknown;
};
/** This interface was referenced by `Upload`'s JSON-Schema via the `references.hrefSchema` link. */
export declare type UploadReferencesHrefSchema = {
    /**
     * For Modular Content fields and Structured Text fields, return full payload for
     * nested blocks instead of IDs
     */
    nested?: string;
    /**
     * Retrieve only the selected type of version that is linked to the upload; current,
     * published or both
     */
    version?: null | ('current' | 'published' | 'published-or-current');
    [k: string]: unknown;
};
/**
 * JSON API type field
 *
 * This interface was referenced by `UploadRequest`'s JSON-Schema via the `definition` "type".
 */
export declare type UploadRequestType = 'upload_request';
/**
 * The S3 path where the file will be stored
 *
 * This interface was referenced by `UploadRequest`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `UploadRequest`'s JSON-Schema via the `definition` "id".
 */
export declare type UploadRequestIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `ScheduledPublication`'s JSON-Schema via the
 * `definition` "type".
 */
export declare type ScheduledPublicationType = 'scheduled_publication';
/**
 * ID of scheduled_publication
 *
 * This interface was referenced by `ScheduledPublication`'s JSON-Schema via the
 * `definition` "identity".
 *
 * This interface was referenced by `ScheduledPublication`'s JSON-Schema via the `definition` "id".
 */
export declare type ScheduledPublicationIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
 * `definition` "type".
 */
export declare type ScheduledUnpublishingType = 'scheduled_unpublishing';
/**
 * ID of scheduled_unpublishing
 *
 * This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
 * `definition` "identity".
 *
 * This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
 * `definition` "id".
 */
export declare type ScheduledUnpublishingIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `SearchResult`'s JSON-Schema via the `definition` "type".
 */
export declare type SearchResultType = 'search_result';
/**
 * ID of result
 *
 * This interface was referenced by `SearchResult`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `SearchResult`'s JSON-Schema via the `definition` "id".
 */
export declare type SearchResultIdentity = string;
/**
 * This interface was referenced by `SearchResult`'s JSON-Schema via the
 * `instances.hrefSchema` link.
 */
export declare type SearchResultInstancesHrefSchema = {
    /** The query string to search */
    q: string;
    /** The build trigger ID on which the search will be performed */
    build_trigger_id?: string;
    /** Restrict the search on one locale */
    locale?: string;
    /** Maximum number of results to return (Max: 100, default: 20) */
    limit?: string;
    /** Number of records to offset for the search */
    offset?: string;
    [k: string]: unknown;
};
/**
 * JSON API type field
 *
 * This interface was referenced by `Environment`'s JSON-Schema via the `definition` "type".
 */
export declare type EnvironmentType = 'environment';
/**
 * JSON API type field
 *
 * This interface was referenced by `MaintenanceMode`'s JSON-Schema via the `definition` "type".
 */
export declare type MaintenanceModeType = 'maintenance_mode';
/**
 * ID of maintenance_mode
 *
 * This interface was referenced by `MaintenanceMode`'s JSON-Schema via the `definition`
 * "identity".
 *
 * This interface was referenced by `MaintenanceMode`'s JSON-Schema via the `definition` "id".
 */
export declare type MaintenanceModeIdentity = string;
/**
 * This interface was referenced by `MaintenanceMode`'s JSON-Schema via the
 * `activate.hrefSchema` link.
 */
export declare type MaintenanceModeActivateHrefSchema = {
    /** Force the activation, even if there are collaborators editing some records. */
    force?: boolean;
    [k: string]: unknown;
};
/**
 * JSON API type field
 *
 * This interface was referenced by `Webhook`'s JSON-Schema via the `definition` "type".
 */
export declare type WebhookType = 'webhook';
/**
 * ID of webhook
 *
 * This interface was referenced by `Webhook`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Webhook`'s JSON-Schema via the `definition` "id".
 */
export declare type WebhookIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `WebhookCall`'s JSON-Schema via the `definition` "type".
 */
export declare type WebhookCallType = 'webhook_call';
/**
 * ID of webhook call
 *
 * This interface was referenced by `WebhookCall`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `WebhookCall`'s JSON-Schema via the `definition` "id".
 */
export declare type WebhookCallIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the `definition` "type".
 */
export declare type ItemTypeFilterType = 'item_type_filter';
/**
 * ID of filter
 *
 * This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the `definition` "id".
 */
export declare type ItemTypeFilterIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `UploadFilter`'s JSON-Schema via the `definition` "type".
 */
export declare type UploadFilterType = 'upload_filter';
/**
 * ID of filter
 *
 * This interface was referenced by `UploadFilter`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `UploadFilter`'s JSON-Schema via the `definition` "id".
 */
export declare type UploadFilterIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `SiteInvitation`'s JSON-Schema via the `definition` "type".
 */
export declare type SiteInvitationType = 'site_invitation';
/**
 * ID of invitation
 *
 * This interface was referenced by `SiteInvitation`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `SiteInvitation`'s JSON-Schema via the `definition` "id".
 */
export declare type SiteInvitationIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `EditingSession`'s JSON-Schema via the `definition` "type".
 */
export declare type EditingSessionType = 'editing_session';
/**
 * UUID of presence
 *
 * This interface was referenced by `EditingSession`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `EditingSession`'s JSON-Schema via the `definition` "id".
 */
export declare type EditingSessionIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `SsoSettings`'s JSON-Schema via the `definition` "type".
 */
export declare type SsoSettingsType = 'sso_settings';
/**
 * ID
 *
 * This interface was referenced by `SsoSettings`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `SsoSettings`'s JSON-Schema via the `definition` "id".
 */
export declare type SsoSettingsIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `WhiteLabelSettings`'s JSON-Schema via the `definition` "type".
 */
export declare type WhiteLabelSettingsType = 'white_label_settings';
/**
 * ID
 *
 * This interface was referenced by `WhiteLabelSettings`'s JSON-Schema via the
 * `definition` "identity".
 *
 * This interface was referenced by `WhiteLabelSettings`'s JSON-Schema via the `definition` "id".
 */
export declare type WhiteLabelSettingsIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `PublicInfo`'s JSON-Schema via the `definition` "type".
 */
export declare type PublicInfoType = 'public_info';
/**
 * ID of site
 *
 * This interface was referenced by `PublicInfo`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `PublicInfo`'s JSON-Schema via the `definition` "id".
 */
export declare type PublicInfoIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `DailyUsage`'s JSON-Schema via the `definition` "type".
 */
export declare type DailyUsageType = 'daily_usage';
/**
 * ID of site
 *
 * This interface was referenced by `DailyUsage`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `DailyUsage`'s JSON-Schema via the `definition` "id".
 */
export declare type DailyUsageIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `UsageCounter`'s JSON-Schema via the `definition` "type".
 */
export declare type UsageCounterType = 'usage_counter';
/**
 * Name of the counter
 *
 * This interface was referenced by `UsageCounter`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `UsageCounter`'s JSON-Schema via the `definition` "id".
 */
export declare type UsageCounterIdentity = 'assets_path_bytes' | 'assets_referrer_bytes' | 'assets_ip_bytes' | 'cda_access_token_id_bytes' | 'cda_access_token_id_requests' | 'cda_referrer_bytes' | 'cda_referrer_requests' | 'cda_ip_bytes' | 'cda_ip_requests' | 'cma_endpoint_bytes' | 'cma_endpoint_requests' | 'cma_user_bytes' | 'cma_user_requests' | 'cma_ip_bytes' | 'cma_ip_requests' | 'video_path_seconds';
/** This interface was referenced by `UsageCounter`'s JSON-Schema via the `self.hrefSchema` link. */
export declare type UsageCounterSelfHrefSchema = {
    /** The time period upon which counters will be returned */
    period?: 'today' | 'current_month' | 'last_month';
};
/**
 * JSON API type field
 *
 * This interface was referenced by `UploadTag`'s JSON-Schema via the `definition` "type".
 */
export declare type UploadTagType = 'upload_tag';
/**
 * ID of upload tag
 *
 * This interface was referenced by `UploadTag`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `UploadTag`'s JSON-Schema via the `definition` "id".
 */
export declare type UploadTagIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `UploadSmartTag`'s JSON-Schema via the `definition` "type".
 */
export declare type UploadSmartTagType = 'upload_smart_tag';
/**
 * ID of upload tag
 *
 * This interface was referenced by `UploadSmartTag`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `UploadSmartTag`'s JSON-Schema via the `definition` "id".
 */
export declare type UploadSmartTagIdentity = string;
/**
 * JSON API type field
 *
 * This interface was referenced by `Site`'s JSON-Schema via the `definition` "type".
 */
export declare type SiteType = 'site';
/**
 * ID of site
 *
 * This interface was referenced by `Site`'s JSON-Schema via the `definition` "identity".
 *
 * This interface was referenced by `Site`'s JSON-Schema via the `definition` "id".
 */
export declare type SiteIdentity = string;
export interface DatoCMSSiteAPI {
    role?: Role;
    user?: User;
    sso_user?: SsoUser;
    audit_log_event?: AuditLogEvent;
    account?: Account;
    site_plan?: SitePlan;
    menu_item?: MenuItem;
    item_type?: ModelBlock;
    field?: Field;
    fieldset?: Fieldset;
    job?: Job;
    session?: Session;
    access_token?: AccessToken;
    plugin?: Plugin;
    job_result?: JobResult;
    subscription_limit?: SubscriptionLimit;
    subscription_feature?: SubscriptionFeature;
    build_event?: BuildEvent;
    item?: Item;
    item_version?: ItemVersion;
    upload?: Upload;
    upload_request?: UploadRequest;
    scheduled_publication?: ScheduledPublication;
    scheduled_unpublishing?: ScheduledUnpublishing;
    search_result?: SearchResult;
    environment?: Environment;
    maintenance_mode?: MaintenanceMode;
    webhook?: Webhook;
    webhook_call?: WebhookCall;
    build_trigger?: BuildTrigger;
    item_type_filter?: ItemTypeFilter;
    upload_filter?: UploadFilter;
    site_invitation?: SiteInvitation;
    editing_session?: EditingSession;
    sso_group?: SsoGroup;
    sso_settings?: SsoSettings;
    white_label_settings?: WhiteLabelSettings;
    public_info?: PublicInfo;
    daily_usage?: DailyUsage;
    usage_counter?: UsageCounter;
    upload_tag?: UploadTag;
    upload_smart_tag?: UploadSmartTag;
    site?: Site;
    workflow?: Workflow;
    [k: string]: unknown;
}
/**
 * A Role represents a specific set of actions an editor (or an API token) can perform on
 * your administrative area.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "role".
 */
export interface Role {
    type: RoleType;
    id: RoleIdentity;
    attributes: RoleAttributes;
    relationships: RoleRelationships;
    meta: RoleMeta;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `Role`'s JSON-Schema via the `definition` "attributes".
 */
export interface RoleAttributes {
    /** The name of the role */
    name: string;
    /** Can edit favicon, global SEO settings and no-index policy */
    can_edit_favicon: boolean;
    /** Can change project name and 2FA settings */
    can_edit_site: boolean;
    /** Can create/edit models and plugins */
    can_edit_schema: boolean;
    /** Can customize content navigation bar */
    can_manage_menu: boolean;
    /** Can change locales, timezone and UI theme */
    can_edit_environment: boolean;
    /** Can promote environments to primary and manage maintenance mode */
    can_promote_environments: boolean;
    /** Specifies the environments the user can access */
    environments_access: 'all' | 'primary_only' | 'sandbox_only';
    /** Can create/edit roles and invite/remove collaborators */
    can_manage_users: boolean;
    /** Can create/edit shared filters (both for models and the media area) */
    can_manage_shared_filters?: boolean;
    /** Can create/edit Build triggers */
    can_manage_build_triggers: boolean;
    /** Can create/edit webhooks */
    can_manage_webhooks: boolean;
    /** Can create/delete sandbox environments and promote them to primary environment */
    can_manage_environments: boolean;
    /** Can manage Single Sign-On settings */
    can_manage_sso: boolean;
    /** Can access Audit Log */
    can_access_audit_log: boolean;
    /** Can create/edit workflows */
    can_manage_workflows: boolean;
    /** Can manage API tokens */
    can_manage_access_tokens: boolean;
    /** Can perform Site Search API calls */
    can_perform_site_search: boolean;
    /** Can access the build events log */
    can_access_build_events_log: boolean;
    /** Allowed actions on a model (or all) for a role */
    positive_item_type_permissions: {
        item_type?: ItemTypeIdentity | null;
        workflow?: WorkflowIdentity | null;
        on_stage?: null | string;
        to_stage?: null | string;
        environment: EnvironmentIdentity;
        /** Permitted action */
        action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
        /** Permitted creator */
        on_creator?: 'anyone' | 'self' | 'role' | null;
        /** Permitted content scope */
        localization_scope?: 'all' | 'localized' | 'not_localized' | null;
        /**
         * Permitted localized content in this locale. Required when `localization_scope` is
         * `localized`
         */
        locale?: string | null;
    }[];
    /** Prohibited actions on a model (or all) for a role */
    negative_item_type_permissions: {
        item_type?: ItemTypeIdentity | null;
        workflow?: WorkflowIdentity | null;
        on_stage?: null | string;
        to_stage?: null | string;
        environment: EnvironmentIdentity;
        /** Permitted action */
        action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
        /** Permitted creator */
        on_creator?: 'anyone' | 'self' | 'role' | null;
        /** Permitted content scope */
        localization_scope?: 'all' | 'localized' | 'not_localized' | null;
        /**
         * Permitted localized content in this locale. Required when `localization_scope` is
         * `localized`
         */
        locale?: string | null;
    }[];
    /** Allowed actions on a model (or all) for a role */
    positive_upload_permissions: {
        environment: EnvironmentIdentity;
        /** Permitted action */
        action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
        /** Permitted creator */
        on_creator?: 'anyone' | 'self' | 'role' | null;
        /** Permitted content scope */
        localization_scope?: 'all' | 'localized' | 'not_localized' | null;
        /**
         * Permitted localized content in this locale. Required when `localization_scope` is
         * `localized`
         */
        locale?: string | null;
    }[];
    /** Prohibited actions on a model (or all) for a role */
    negative_upload_permissions: {
        environment: EnvironmentIdentity;
        /** Permitted action */
        action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
        /** Permitted creator */
        on_creator?: 'anyone' | 'self' | 'role' | null;
        /** Permitted content scope */
        localization_scope?: 'all' | 'localized' | 'not_localized' | null;
        /**
         * Permitted localized content in this locale. Required when `localization_scope` is
         * `localized`
         */
        locale?: string | null;
    }[];
    /** Allowed build triggers for a role */
    positive_build_trigger_permissions: {
        build_trigger?: BuildTriggerIdentity | null;
    }[];
    /** Prohibited build triggers for a role */
    negative_build_trigger_permissions: {
        build_trigger?: BuildTriggerIdentity | null;
    }[];
}
/**
 * JSON API links
 *
 * This interface was referenced by `Role`'s JSON-Schema via the `definition` "relationships".
 */
export interface RoleRelationships {
    /** The roles from which this role inherits permissions */
    inherits_permissions_from: {
        data: RoleData[];
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `Role`'s JSON-Schema via the `definition` "data".
 */
export interface RoleData {
    type: RoleType;
    id: RoleIdentity;
}
/**
 * Meta information regarding the record
 *
 * This interface was referenced by `Role`'s JSON-Schema via the `definition` "meta".
 */
export interface RoleMeta {
    /** The final set of permissions considering also inherited roles */
    final_permissions: {
        /** Can edit favicon, global SEO settings and no-index policy */
        can_edit_favicon: boolean;
        /** Can change project name and 2FA settings */
        can_edit_site: boolean;
        /** Can create/edit models and plugins */
        can_edit_schema: boolean;
        /** Can customize content navigation bar */
        can_manage_menu: boolean;
        /** Can change locales, timezone and UI theme */
        can_edit_environment: boolean;
        /** Can promote environments to primary and manage maintenance mode */
        can_promote_environments: boolean;
        /** Specifies the environments the user can access */
        environments_access: 'all' | 'primary_only' | 'sandbox_only';
        /** Can create/edit roles and invite/remove collaborators */
        can_manage_users: boolean;
        /** Can create/edit shared filters (both for models and the media area) */
        can_manage_shared_filters?: boolean;
        /** Can create/edit Build triggers */
        can_manage_build_triggers: boolean;
        /** Can create/edit webhooks */
        can_manage_webhooks: boolean;
        /** Can create/delete sandbox environments and promote them to primary environment */
        can_manage_environments: boolean;
        /** Can manage Single Sign-On settings */
        can_manage_sso: boolean;
        /** Can access Audit Log */
        can_access_audit_log: boolean;
        /** Can create/edit workflows */
        can_manage_workflows: boolean;
        /** Can manage API tokens */
        can_manage_access_tokens: boolean;
        /** Can perform Site Search API calls */
        can_perform_site_search: boolean;
        /** Can access the build events log */
        can_access_build_events_log: boolean;
        /** Allowed actions on a model (or all) for a role */
        positive_item_type_permissions: {
            item_type?: ItemTypeIdentity | null;
            workflow?: WorkflowIdentity | null;
            on_stage?: null | string;
            to_stage?: null | string;
            environment: EnvironmentIdentity;
            /** Permitted action */
            action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
            /** Permitted creator */
            on_creator?: 'anyone' | 'self' | 'role' | null;
            /** Permitted content scope */
            localization_scope?: 'all' | 'localized' | 'not_localized' | null;
            /**
             * Permitted localized content in this locale. Required when `localization_scope`
             * is `localized`
             */
            locale?: string | null;
        }[];
        /** Prohibited actions on a model (or all) for a role */
        negative_item_type_permissions: {
            item_type?: ItemTypeIdentity | null;
            workflow?: WorkflowIdentity | null;
            on_stage?: null | string;
            to_stage?: null | string;
            environment: EnvironmentIdentity;
            /** Permitted action */
            action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
            /** Permitted creator */
            on_creator?: 'anyone' | 'self' | 'role' | null;
            /** Permitted content scope */
            localization_scope?: 'all' | 'localized' | 'not_localized' | null;
            /**
             * Permitted localized content in this locale. Required when `localization_scope`
             * is `localized`
             */
            locale?: string | null;
        }[];
        /** Allowed actions on a model (or all) for a role */
        positive_upload_permissions: {
            environment: EnvironmentIdentity;
            /** Permitted action */
            action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
            /** Permitted creator */
            on_creator?: 'anyone' | 'self' | 'role' | null;
            /** Permitted content scope */
            localization_scope?: 'all' | 'localized' | 'not_localized' | null;
            /**
             * Permitted localized content in this locale. Required when `localization_scope`
             * is `localized`
             */
            locale?: string | null;
        }[];
        /** Prohibited actions on a model (or all) for a role */
        negative_upload_permissions: {
            environment: EnvironmentIdentity;
            /** Permitted action */
            action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
            /** Permitted creator */
            on_creator?: 'anyone' | 'self' | 'role' | null;
            /** Permitted content scope */
            localization_scope?: 'all' | 'localized' | 'not_localized' | null;
            /**
             * Permitted localized content in this locale. Required when `localization_scope`
             * is `localized`
             */
            locale?: string | null;
        }[];
        /** Allowed build triggers for a role */
        positive_build_trigger_permissions: {
            build_trigger?: BuildTriggerIdentity | null;
        }[];
        /** Prohibited build triggers for a role */
        negative_build_trigger_permissions: {
            build_trigger?: BuildTriggerIdentity | null;
        }[];
    };
}
/** This interface was referenced by `Role`'s JSON-Schema via the `create.schema` link. */
export interface RoleCreateSchema {
    data: {
        type: RoleType;
        /** JSON API attributes */
        attributes: {
            /** The name of the role */
            name: string;
            /** Can edit favicon, global SEO settings and no-index policy */
            can_edit_favicon?: boolean;
            /** Can change project name and 2FA settings */
            can_edit_site?: boolean;
            /** Can create/edit models and plugins */
            can_edit_schema?: boolean;
            /** Can customize content navigation bar */
            can_manage_menu?: boolean;
            /** Can change locales, timezone and UI theme */
            can_edit_environment?: boolean;
            /** Can promote environments to primary and manage maintenance mode */
            can_promote_environments?: boolean;
            /** Specifies the environments the user can access */
            environments_access?: 'all' | 'primary_only' | 'sandbox_only';
            /** Can create/edit roles and invite/remove collaborators */
            can_manage_users?: boolean;
            /** Can create/edit shared filters (both for models and the media area) */
            can_manage_shared_filters?: boolean;
            /** Can create/edit Build triggers */
            can_manage_build_triggers?: boolean;
            /** Can create/edit webhooks */
            can_manage_webhooks?: boolean;
            /** Can create/delete sandbox environments and promote them to primary environment */
            can_manage_environments?: boolean;
            /** Can manage Single Sign-On settings */
            can_manage_sso?: boolean;
            /** Can access Audit Log */
            can_access_audit_log?: boolean;
            /** Can create/edit workflows */
            can_manage_workflows?: boolean;
            /** Can manage API tokens */
            can_manage_access_tokens?: boolean;
            /** Can perform Site Search API calls */
            can_perform_site_search?: boolean;
            /** Can access the build events log */
            can_access_build_events_log?: boolean;
            /** Allowed actions on a model (or all) for a role */
            positive_item_type_permissions?: {
                item_type?: ItemTypeIdentity | null;
                workflow?: WorkflowIdentity | null;
                on_stage?: null | string;
                to_stage?: null | string;
                environment: EnvironmentIdentity;
                /** Permitted action */
                action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
                /** Permitted creator */
                on_creator?: 'anyone' | 'self' | 'role' | null;
                /** Permitted content scope */
                localization_scope?: 'all' | 'localized' | 'not_localized' | null;
                /**
                 * Permitted localized content in this locale. Required when `localization_scope`
                 * is `localized`
                 */
                locale?: string | null;
            }[];
            /** Prohibited actions on a model (or all) for a role */
            negative_item_type_permissions?: {
                item_type?: ItemTypeIdentity | null;
                workflow?: WorkflowIdentity | null;
                on_stage?: null | string;
                to_stage?: null | string;
                environment: EnvironmentIdentity;
                /** Permitted action */
                action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
                /** Permitted creator */
                on_creator?: 'anyone' | 'self' | 'role' | null;
                /** Permitted content scope */
                localization_scope?: 'all' | 'localized' | 'not_localized' | null;
                /**
                 * Permitted localized content in this locale. Required when `localization_scope`
                 * is `localized`
                 */
                locale?: string | null;
            }[];
            /** Allowed actions on a model (or all) for a role */
            positive_upload_permissions?: {
                environment: EnvironmentIdentity;
                /** Permitted action */
                action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
                /** Permitted creator */
                on_creator?: 'anyone' | 'self' | 'role' | null;
                /** Permitted content scope */
                localization_scope?: 'all' | 'localized' | 'not_localized' | null;
                /**
                 * Permitted localized content in this locale. Required when `localization_scope`
                 * is `localized`
                 */
                locale?: string | null;
            }[];
            /** Prohibited actions on a model (or all) for a role */
            negative_upload_permissions?: {
                environment: EnvironmentIdentity;
                /** Permitted action */
                action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
                /** Permitted creator */
                on_creator?: 'anyone' | 'self' | 'role' | null;
                /** Permitted content scope */
                localization_scope?: 'all' | 'localized' | 'not_localized' | null;
                /**
                 * Permitted localized content in this locale. Required when `localization_scope`
                 * is `localized`
                 */
                locale?: string | null;
            }[];
            /** Allowed build triggers for a role */
            positive_build_trigger_permissions?: {
                build_trigger?: BuildTriggerIdentity | null;
            }[];
            /** Prohibited build triggers for a role */
            negative_build_trigger_permissions?: {
                build_trigger?: BuildTriggerIdentity | null;
            }[];
        };
        /** JSON API links */
        relationships?: {
            /** The roles from which this role inherits permissions */
            inherits_permissions_from?: {
                data: RoleData[];
            };
        };
        meta?: RoleMeta;
    };
}
/** This interface was referenced by `Role`'s JSON-Schema via the `create.targetSchema` link. */
export interface RoleCreateTargetSchema {
    data: Role;
}
/** This interface was referenced by `Role`'s JSON-Schema via the `update.schema` link. */
export interface RoleUpdateSchema {
    data: {
        type: RoleType;
        id: RoleIdentity;
        /** JSON API attributes */
        attributes?: {
            /** The name of the role */
            name?: string;
            /** Can edit favicon, global SEO settings and no-index policy */
            can_edit_favicon?: boolean;
            /** Can change project name and 2FA settings */
            can_edit_site?: boolean;
            /** Can create/edit models and plugins */
            can_edit_schema?: boolean;
            /** Can customize content navigation bar */
            can_manage_menu?: boolean;
            /** Can change locales, timezone and UI theme */
            can_edit_environment?: boolean;
            /** Can promote environments to primary and manage maintenance mode */
            can_promote_environments?: boolean;
            /** Specifies the environments the user can access */
            environments_access?: 'all' | 'primary_only' | 'sandbox_only';
            /** Can create/edit roles and invite/remove collaborators */
            can_manage_users?: boolean;
            /** Can create/edit shared filters (both for models and the media area) */
            can_manage_shared_filters?: boolean;
            /** Can create/edit Build triggers */
            can_manage_build_triggers?: boolean;
            /** Can create/edit webhooks */
            can_manage_webhooks?: boolean;
            /** Can create/delete sandbox environments and promote them to primary environment */
            can_manage_environments?: boolean;
            /** Can manage Single Sign-On settings */
            can_manage_sso?: boolean;
            /** Can access Audit Log */
            can_access_audit_log?: boolean;
            /** Can create/edit workflows */
            can_manage_workflows?: boolean;
            /** Can manage API tokens */
            can_manage_access_tokens?: boolean;
            /** Can perform Site Search API calls */
            can_perform_site_search?: boolean;
            /** Can access the build events log */
            can_access_build_events_log?: boolean;
            /** Allowed actions on a model (or all) for a role */
            positive_item_type_permissions?: {
                item_type?: ItemTypeIdentity | null;
                workflow?: WorkflowIdentity | null;
                on_stage?: null | string;
                to_stage?: null | string;
                environment: EnvironmentIdentity;
                /** Permitted action */
                action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
                /** Permitted creator */
                on_creator?: 'anyone' | 'self' | 'role' | null;
                /** Permitted content scope */
                localization_scope?: 'all' | 'localized' | 'not_localized' | null;
                /**
                 * Permitted localized content in this locale. Required when `localization_scope`
                 * is `localized`
                 */
                locale?: string | null;
            }[];
            /** Prohibited actions on a model (or all) for a role */
            negative_item_type_permissions?: {
                item_type?: ItemTypeIdentity | null;
                workflow?: WorkflowIdentity | null;
                on_stage?: null | string;
                to_stage?: null | string;
                environment: EnvironmentIdentity;
                /** Permitted action */
                action: 'all' | 'read' | 'update' | 'create' | 'duplicate' | 'delete' | 'publish' | 'edit_creator' | 'take_over' | 'move_to_stage';
                /** Permitted creator */
                on_creator?: 'anyone' | 'self' | 'role' | null;
                /** Permitted content scope */
                localization_scope?: 'all' | 'localized' | 'not_localized' | null;
                /**
                 * Permitted localized content in this locale. Required when `localization_scope`
                 * is `localized`
                 */
                locale?: string | null;
            }[];
            /** Allowed actions on a model (or all) for a role */
            positive_upload_permissions?: {
                environment: EnvironmentIdentity;
                /** Permitted action */
                action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
                /** Permitted creator */
                on_creator?: 'anyone' | 'self' | 'role' | null;
                /** Permitted content scope */
                localization_scope?: 'all' | 'localized' | 'not_localized' | null;
                /**
                 * Permitted localized content in this locale. Required when `localization_scope`
                 * is `localized`
                 */
                locale?: string | null;
            }[];
            /** Prohibited actions on a model (or all) for a role */
            negative_upload_permissions?: {
                environment: EnvironmentIdentity;
                /** Permitted action */
                action: 'all' | 'read' | 'update' | 'create' | 'delete' | 'edit_creator' | 'replace_asset';
                /** Permitted creator */
                on_creator?: 'anyone' | 'self' | 'role' | null;
                /** Permitted content scope */
                localization_scope?: 'all' | 'localized' | 'not_localized' | null;
                /**
                 * Permitted localized content in this locale. Required when `localization_scope`
                 * is `localized`
                 */
                locale?: string | null;
            }[];
            /** Allowed build triggers for a role */
            positive_build_trigger_permissions?: {
                build_trigger?: BuildTriggerIdentity | null;
            }[];
            /** Prohibited build triggers for a role */
            negative_build_trigger_permissions?: {
                build_trigger?: BuildTriggerIdentity | null;
            }[];
        };
        /** JSON API links */
        relationships?: {
            /** The roles from which this role inherits permissions */
            inherits_permissions_from?: {
                data: RoleData[];
            };
        };
        meta?: RoleMeta;
    };
}
/** This interface was referenced by `Role`'s JSON-Schema via the `update.targetSchema` link. */
export interface RoleUpdateTargetSchema {
    data: Role;
}
/** This interface was referenced by `Role`'s JSON-Schema via the `instances.targetSchema` link. */
export interface RoleInstancesTargetSchema {
    data: Role[];
}
/** This interface was referenced by `Role`'s JSON-Schema via the `self.targetSchema` link. */
export interface RoleSelfTargetSchema {
    data: Role;
}
/** This interface was referenced by `Role`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface RoleDestroyTargetSchema {
    data: Role;
}
/**
 * A DatoCMS administrative area can be accessed by multiple people. Every collaborator
 * is linked to a specific Role, which describes what actions it will be able to perform
 * once logged in.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "user".
 */
export interface User {
    type: UserType;
    id: UserIdentity;
    attributes: UserAttributes;
    relationships: UserRelationships;
    meta?: UserMeta;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `User`'s JSON-Schema via the `definition` "attributes".
 */
export interface UserAttributes {
    /** Email */
    email: string;
    /** Whether 2-factor authentication is active for this account or not */
    is_2fa_active: boolean;
    /** Full name */
    full_name: string;
    /** Whether the user is active or not */
    is_active: boolean;
}
/**
 * JSON API links
 *
 * This interface was referenced by `User`'s JSON-Schema via the `definition` "relationships".
 */
export interface UserRelationships {
    /** Role */
    role: {
        data: RoleData;
    };
}
/**
 * Meta information on the user
 *
 * This interface was referenced by `User`'s JSON-Schema via the `definition` "meta".
 */
export interface UserMeta {
    /** Date of last reading/interaction */
    last_access: string | null;
}
/**
 * JSON API data
 *
 * This interface was referenced by `User`'s JSON-Schema via the `definition` "data".
 */
export interface UserData {
    type: UserType;
    id: UserIdentity;
}
/** This interface was referenced by `User`'s JSON-Schema via the `update.schema` link. */
export interface UserUpdateSchema {
    data: {
        type: UserType;
        id: UserIdentity;
        attributes?: {
            /** Whether the user is active or not */
            is_active: boolean;
        };
        relationships?: {
            /** Role */
            role: {
                data: RoleData;
            };
        };
    };
}
/** This interface was referenced by `User`'s JSON-Schema via the `update.targetSchema` link. */
export interface UserUpdateTargetSchema {
    data: User;
}
/** This interface was referenced by `User`'s JSON-Schema via the `instances.targetSchema` link. */
export interface UserInstancesTargetSchema {
    data: User[];
}
/** This interface was referenced by `User`'s JSON-Schema via the `self.targetSchema` link. */
export interface UserSelfTargetSchema {
    data: User;
}
/** This interface was referenced by `User`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface UserDestroyTargetSchema {
    data: User;
}
/**
 * A Single Sign-On user exists when a DatoCMS project is connected to an external
 * Identity Provider. An SSO user will not use the standard login procedure but has to go
 * through SAML authentication. It can also be linked to one or more IdP groups.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "sso_user".
 */
export interface SsoUser {
    type: SsoUserType;
    id: SsoUserIdentity;
    attributes: SsoUserAttributes;
    relationships: SsoUserRelationships;
    meta: SsoUserMeta;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `SsoUser`'s JSON-Schema via the `definition` "attributes".
 */
export interface SsoUserAttributes {
    /** Email */
    username: string;
    /** Identity provider ID */
    external_id: string | null;
    /**
     * Whether this user is active on the identity provider. De-activated users won't be
     * able to login.
     */
    is_active: boolean;
    /** First name */
    first_name: string | null;
    /** Last name */
    last_name: string | null;
}
/**
 * JSON API links
 *
 * This interface was referenced by `SsoUser`'s JSON-Schema via the `definition` "relationships".
 */
export interface SsoUserRelationships {
    /** All the users's groups */
    groups: {
        data: SsoGroupData[];
    };
    /** The user role */
    role: {
        data: RoleData | null;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `SsoGroup`'s JSON-Schema via the `definition` "data".
 */
export interface SsoGroupData {
    type: SsoGroupType;
    id: SsoGroupIdentity;
}
/**
 * Meta information on the user
 *
 * This interface was referenced by `SsoUser`'s JSON-Schema via the `definition` "meta".
 */
export interface SsoUserMeta {
    /** Date of last reading/interaction */
    last_access: string | null;
}
/**
 * JSON API data
 *
 * This interface was referenced by `SsoUser`'s JSON-Schema via the `definition` "data".
 */
export interface SsoUserData {
    type: SsoUserType;
    id: SsoUserIdentity;
}
/** This interface was referenced by `SsoUser`'s JSON-Schema via the `instances.targetSchema` link. */
export interface SsoUserInstancesTargetSchema {
    data: SsoUser[];
}
/** This interface was referenced by `SsoUser`'s JSON-Schema via the `self.targetSchema` link. */
export interface SsoUserSelfTargetSchema {
    data: SsoUser;
}
/** This interface was referenced by `SsoUser`'s JSON-Schema via the `copy_users.targetSchema` link. */
export interface SsoUserCopyUsersTargetSchema {
    data: SsoUser[];
}
/** This interface was referenced by `SsoUser`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface SsoUserDestroyTargetSchema {
    data: SsoUser;
}
/**
 * If the Audit log functionality is enabled in a project, logged events can be queried
 * using SQL-like language and fetched in full detail so that they can be exported or analyzed.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "audit_log_event".
 */
export interface AuditLogEvent {
    type: AuditLogEventType;
    id: AuditLogEventIdentity;
    attributes: AuditLogEventAttributes;
    meta: AuditLogEventMeta;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the `definition`
 * "attributes".
 */
export interface AuditLogEventAttributes {
    /** The actual action performed */
    action_name: string;
    /** The actor who performed the action */
    actor: {
        /** The type of actor (can be `account`, `user`, `sso_user` or `access_token`) */
        type: string;
        /** The ID of the actor */
        id: string;
        /** An human representation of the actor (name/email/username depending on the type of actor) */
        name: string;
    };
    /** The role of the actor at the time the action was performed */
    role: null | {
        /** The name of the role */
        name: string;
        /** The ID of the role */
        id: string;
    };
    /** The environment inside of which the action was performed */
    environment: {
        /** The ID of the environment */
        id: string;
        /** Whether the environment was the primary one at the time the action was performed */
        primary: boolean;
    };
    /** The actual request being performed */
    request: {
        /** The full path of the request */
        path: string;
        /** The HTTP method of the request */
        method: string;
        /** The X-Request-ID header of the request */
        id?: string;
        /** The full HTTP body of the request */
        payload?: null | {
            [k: string]: unknown;
        };
    };
    /** The actual response being returned by DatoCMS */
    response: null | {
        /** The HTTP status code of the response */
        status: number;
        /** The full HTTP body of the response */
        payload: {
            [k: string]: unknown;
        };
    };
}
/**
 * JSON API meta
 *
 * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the `definition` "meta".
 */
export interface AuditLogEventMeta {
    /** The date of the event */
    occurred_at: string;
}
/**
 * JSON API data
 *
 * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the `definition` "data".
 */
export interface AuditLogEventData {
    type: AuditLogEventType;
    id: AuditLogEventIdentity;
}
/** This interface was referenced by `AuditLogEvent`'s JSON-Schema via the `query.schema` link. */
export interface AuditLogEventQuerySchema {
    data: {
        /** JSON API type field */
        type: 'audit_log_query';
        attributes: {
            /** An SQL-like expression to filter the events */
            filter?: string;
            /**
             * Set this value to get remaining results, if a meta.next_token was returned in
             * the previous query response
             */
            next_token?: string;
            /**
             * Whether a detailed log complete with full request and response payload must be
             * returned or not
             */
            detailed_log?: boolean;
        };
    };
}
/**
 * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the
 * `query.targetSchema` link.
 */
export interface AuditLogEventQueryTargetSchema {
    data: AuditLogEvent[];
    meta: {
        /**
         * If the response request exceeds the response payload limit DatoCMS will set this
         * value in the response. If set, you can use that this value in the subsequent
         * request to get the remaining results
         */
        next_token: null | string;
    };
}
/**
 * DatoCMS account
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "account".
 */
export interface Account {
    type: AccountType;
    id: AccountIdentity;
    attributes: AccountAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `Account`'s JSON-Schema via the `definition` "attributes".
 */
export interface AccountAttributes {
    /** Email */
    email: string;
    /** First name */
    first_name: string | null;
    /** Last name */
    last_name: string | null;
    /** Company name */
    company: string | null;
    /** Password */
    password?: string;
}
/**
 * JSON API data
 *
 * This interface was referenced by `Account`'s JSON-Schema via the `definition` "data".
 */
export interface AccountData {
    type: AccountType;
    id: AccountIdentity;
}
/**
 * Stores the information regarding the current plan for the project.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "site_plan".
 */
export interface SitePlan {
    type: SitePlanType;
    id: SitePlanIdentity;
    attributes: SitePlanAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `SitePlan`'s JSON-Schema via the `definition` "attributes".
 */
export interface SitePlanAttributes {
    /** The name of the plan */
    name: string;
    /** Whether this plan is active or legacy */
    active: boolean;
    /** Whether custom domain can be enabled or not */
    custom_domain: boolean;
    /** Number of users that can be invited */
    users: null | number;
    /** Number of indexable pages */
    indexable_pages: null | number;
    /** Number of build triggers */
    build_triggers: null | number;
    /** Number of plugins */
    plugins: null | number;
    /** Number of webhooks */
    webhooks: null | number;
    /** Number of records allowed */
    items: null | number;
    /** Monthly price */
    monthly_price: number;
    /** Yearly price */
    yearly_price: number;
    /** Uploadable bytes */
    uploadable_bytes: null | number;
    /**
     * Amount of asset data transferred between our Asset CDN and GraphQL Content Delivery
     * API and content consumers
     */
    traffic_bytes: null | number;
    /** The number of requests made to both our Content Management and Content Delivery APIs */
    api_calls: null | number;
    /** The number of streaming seconds delivered by Mux.com */
    mux_streaming_seconds: null | number;
    /** The number of available encoding seconds to Mux.com */
    mux_encoding_seconds: null | number;
    /** The number of different API tokens you can generate, each which different permissions */
    access_tokens: null | number;
    /** Number of roles allowed */
    roles: null | number;
    /** Number of locales allowed */
    locales: null | number;
    /** Number of sandbox environments allowed */
    sandbox_environments: null | number;
    /** Number of models allowed */
    item_types: null | number;
    /** Whether collaboration features are enabled or not */
    item_locking: boolean;
    /** Whether project is in white-label mode or not */
    white_label: boolean;
    /** Whether Single Sign-On feature is enabled or not */
    sso: boolean;
    /** Whether built-in image editor and smart-tagging is enabled or not */
    advanced_media_area: boolean;
    /** Maximum number of blocks a record can contain */
    blocks_per_item: number;
    /** Maximum level of block nesting for a record */
    blocks_depth: number;
    /** Whether video streaming with Mux.com is enabled or not */
    video: boolean;
    /** Days of version history retention */
    history_retention_days: number | null;
    /**
     * Period (in minutes) in which bursts of changes made to the same record by the same
     * user (or API token) will be grouped into a single one
     */
    history_resolution_minutes: number;
    /** Whether two-factor authentication can be enabled or not */
    otp: boolean;
    /** Whether workflows are enabled or not */
    workflows: boolean;
    /** Number of workflows allowed */
    workflows_count: number;
    /** Whether audit logs are enabled or not */
    audit_log: boolean;
    /** Whether translator roles are enabled or not */
    translator_roles: boolean;
    /** Available extra packets */
    extra_packets: {
        users?: {
            amount_per_packet: number;
            price: number;
        };
        locales?: {
            amount_per_packet: number;
            price: number;
        };
        item_types?: {
            amount_per_packet: number;
            price: number;
        };
        roles?: {
            amount_per_packet: number;
            price: number;
        };
        build_triggers?: {
            amount_per_packet: number;
            price: number;
        };
        access_tokens?: {
            amount_per_packet: number;
            price: number;
        };
        mux_encoding_seconds?: {
            amount_per_packet: number;
            price: number;
        };
        sandbox_environments?: {
            amount_per_packet: number;
            price: number;
        };
    };
    /** Automatic packets */
    auto_packets: {
        traffic_bytes?: {
            amount_per_packet: number;
            price: number;
        };
        api_calls?: {
            amount_per_packet: number;
            price: number;
        };
        mux_streaming_seconds?: {
            amount_per_packet: number;
            price: number;
        };
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `SitePlan`'s JSON-Schema via the `definition` "data".
 */
export interface SitePlanData {
    type: SitePlanType;
    id: SitePlanIdentity;
}
/**
 * In DatoCMS you can organize the different Models present in your administrative area
 * reordering and grouping them, so that their purpose will be more clear to the final editor.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "menu_item".
 */
export interface MenuItem {
    type: MenuItemType;
    id: MenuItemIdentity;
    attributes: MenuItemAttributes;
    relationships: MenuItemRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `MenuItem`'s JSON-Schema via the `definition` "attributes".
 */
export interface MenuItemAttributes {
    /** The label of the menu item */
    label: string;
    /** The URL to which the menu item points to */
    external_url: null | string;
    /** Ordering index */
    position: number;
    /** Opens link in new tab (used together with `external_url`) */
    open_in_new_tab: boolean;
}
/**
 * JSON API links
 *
 * This interface was referenced by `MenuItem`'s JSON-Schema via the `definition` "relationships".
 */
export interface MenuItemRelationships {
    /** Item type associated with the menu item */
    item_type: {
        data: ItemTypeData | null;
    };
    /** Parent menu item */
    parent: {
        data: null | MenuItemData;
    };
    /** Underlying menu items */
    children: {
        data: MenuItemData[];
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `ModelBlock`'s JSON-Schema via the `definition` "data".
 */
export interface ItemTypeData {
    type: ItemTypeType;
    id: ItemTypeIdentity;
}
/**
 * JSON API data
 *
 * This interface was referenced by `MenuItem`'s JSON-Schema via the `definition` "data".
 */
export interface MenuItemData {
    type: MenuItemType;
    id: MenuItemIdentity;
}
/** This interface was referenced by `MenuItem`'s JSON-Schema via the `create.schema` link. */
export interface MenuItemCreateSchema {
    data: {
        type: MenuItemType;
        /** JSON API attributes */
        attributes: {
            /** The label of the menu item */
            label: string;
            /** The URL to which the menu item points to */
            external_url?: null | string;
            /** Ordering index */
            position: number;
            /** Opens link in new tab (used together with `external_url`) */
            open_in_new_tab?: boolean;
        };
        relationships: {
            /** Item type associated with the menu item */
            item_type?: {
                data: ItemTypeData | null;
            };
            /** Parent menu item */
            parent?: {
                data: null | MenuItemData;
            };
        };
    };
}
/** This interface was referenced by `MenuItem`'s JSON-Schema via the `create.targetSchema` link. */
export interface MenuItemCreateTargetSchema {
    data: MenuItem;
}
/** This interface was referenced by `MenuItem`'s JSON-Schema via the `update.schema` link. */
export interface MenuItemUpdateSchema {
    data: {
        type: MenuItemType;
        id: MenuItemIdentity;
        /** JSON API attributes */
        attributes: {
            /** The label of the menu item */
            label: string;
            /** The URL to which the menu item points to */
            external_url?: null | string;
            /** Ordering index */
            position: number;
            /** Opens link in new tab (used together with `external_url`) */
            open_in_new_tab?: boolean;
        };
        relationships: {
            /** Item type associated with the menu item */
            item_type?: {
                data: ItemTypeData | null;
            };
            /** Parent menu item */
            parent?: {
                data: null | MenuItemData;
            };
        };
    };
}
/** This interface was referenced by `MenuItem`'s JSON-Schema via the `update.targetSchema` link. */
export interface MenuItemUpdateTargetSchema {
    data: MenuItem;
}
/** This interface was referenced by `MenuItem`'s JSON-Schema via the `instances.targetSchema` link. */
export interface MenuItemInstancesTargetSchema {
    data: MenuItem[];
}
/** This interface was referenced by `MenuItem`'s JSON-Schema via the `self.targetSchema` link. */
export interface MenuItemSelfTargetSchema {
    data: MenuItem;
}
/** This interface was referenced by `MenuItem`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface MenuItemDestroyTargetSchema {
    data: MenuItem;
}
/**
 * The way you define the kind of content you can edit inside your administrative area
 * passes through the concept of Models, which are much like database tables. For
 * backward-compatibility reasons, the API refers to models as "item types".
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "item_type".
 */
export interface ModelBlock {
    type: ItemTypeType;
    id: ItemTypeIdentity;
    attributes: ItemTypeAttributes;
    relationships: ItemTypeRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `ModelBlock`'s JSON-Schema via the `definition` "attributes".
 */
export interface ItemTypeAttributes {
    /** Name of the model */
    name: string;
    /** API key of the model */
    api_key: string;
    /** The way the model collection should be presented to the editors */
    collection_appeareance: 'compact' | 'table';
    /** The way the model collection should be presented to the editors */
    collection_appearance: 'compact' | 'table';
    /** Whether the model is single-instance or not */
    singleton: boolean;
    /** Whether we require all the project locales to be present for each localized field or not */
    all_locales_required: boolean;
    /** Whether editors can sort records via drag & drop or not */
    sortable: boolean;
    /** Whether this model is a modular content block or not */
    modular_block: boolean;
    /** Whether draft/published mode is active or not */
    draft_mode_active: boolean;
    /** Whether editors can organize records in a tree or not */
    tree: boolean;
    /** If an ordering field is set, this fields specify the sorting direction */
    ordering_direction: null | 'asc' | 'desc';
    /** Specifies the model's sorting method. Cannot be set in concurrency with ordering_field */
    ordering_meta: null | 'created_at' | 'updated_at' | 'first_published_at' | 'published_at';
    /**
     * If this model is single-instance, this tells the single-instance record has already
     * been created or not
     */
    has_singleton_item: boolean;
    /** A hint shown to editors to help them understand the purpose of this model/block */
    hint: string | null;
}
/**
 * JSON API links
 *
 * This interface was referenced by `ModelBlock`'s JSON-Schema via the `definition`
 * "relationships".
 */
export interface ItemTypeRelationships {
    /** The item instance related to this item type */
    singleton_item: {
        data: ItemData | null;
    };
    /** The list of item type fields */
    fields: {
        data: FieldData[];
    };
    /** The field to use as display title */
    title_field: {
        data: FieldData | null;
    };
    /** The field upon which the collection is sorted */
    ordering_field: {
        data: FieldData | null;
    };
    /** The workflow to enforce on records */
    workflow: {
        data: WorkflowData | null;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `Item`'s JSON-Schema via the `definition` "data".
 */
export interface ItemData {
    type: ItemType;
    id: ItemIdentity;
}
/**
 * JSON API data
 *
 * This interface was referenced by `Field`'s JSON-Schema via the `definition` "data".
 */
export interface FieldData {
    type: FieldType;
    id: FieldIdentity;
}
/**
 * JSON API data
 *
 * This interface was referenced by `Workflow`'s JSON-Schema via the `definition` "data".
 */
export interface WorkflowData {
    type: WorkflowType;
    id: WorkflowIdentity;
}
/** This interface was referenced by `ModelBlock`'s JSON-Schema via the `create.schema` link. */
export interface ItemTypeCreateSchema {
    data: {
        type: ItemTypeType;
        /** JSON API attributes */
        attributes: {
            /** Name of the model */
            name: string;
            /** API key of the model */
            api_key: string;
            /** Whether the model is single-instance or not */
            singleton?: boolean;
            /** Whether we require all the project locales to be present for each localized field or not */
            all_locales_required?: boolean;
            /** Whether editors can sort records via drag & drop or not */
            sortable?: boolean;
            /** Whether this model is a modular content block or not */
            modular_block?: boolean;
            /** Whether draft/published mode is active or not */
            draft_mode_active?: boolean;
            /** Whether editors can organize records in a tree or not */
            tree?: boolean;
            /** If an ordering field is set, this fields specify the sorting direction */
            ordering_direction?: null | 'asc' | 'desc';
            /** Specifies the model's sorting method. Cannot be set in concurrency with ordering_field */
            ordering_meta?: null | 'created_at' | 'updated_at' | 'first_published_at' | 'published_at';
            /** The way the model collection should be presented to the editors */
            collection_appeareance?: 'compact' | 'table';
            /** The way the model collection should be presented to the editors */
            collection_appearance?: 'compact' | 'table';
            /** A hint shown to editors to help them understand the purpose of this model/block */
            hint?: string | null;
        };
        relationships?: {
            /** The field upon which the collection is sorted */
            ordering_field?: {
                data: FieldData | null;
            };
            /** The field to use as display title */
            title_field?: {
                data: FieldData | null;
            };
            /** The workflow to enforce on records */
            workflow?: {
                data: WorkflowData | null;
            };
        };
    };
}
/** This interface was referenced by `ModelBlock`'s JSON-Schema via the `create.targetSchema` link. */
export interface ItemTypeCreateTargetSchema {
    data: ModelBlock;
    included?: MenuItem[];
}
/** This interface was referenced by `ModelBlock`'s JSON-Schema via the `update.schema` link. */
export interface ItemTypeUpdateSchema {
    data: {
        type: ItemTypeType;
        id: ItemTypeIdentity;
        /** JSON API attributes */
        attributes?: {
            /** Name of the model */
            name?: string;
            /** API key of the model */
            api_key?: string;
            /** The way the model collection should be presented to the editors */
            collection_appeareance?: 'compact' | 'table';
            /** The way the model collection should be presented to the editors */
            collection_appearance?: 'compact' | 'table';
            /** Whether the model is single-instance or not */
            singleton?: boolean;
            /** Whether we require all the project locales to be present for each localized field or not */
            all_locales_required?: boolean;
            /** Whether editors can sort records via drag & drop or not */
            sortable?: boolean;
            /** Whether this model is a modular content block or not */
            modular_block?: boolean;
            /** Whether draft/published mode is active or not */
            draft_mode_active?: boolean;
            /** Whether editors can organize records in a tree or not */
            tree?: boolean;
            /** If an ordering field is set, this fields specify the sorting direction */
            ordering_direction?: null | 'asc' | 'desc';
            /** Specifies the model's sorting method. Cannot be set in concurrency with ordering_field */
            ordering_meta?: null | 'created_at' | 'updated_at' | 'first_published_at' | 'published_at';
            /**
             * If this model is single-instance, this tells the single-instance record has
             * already been created or not
             */
            has_singleton_item?: boolean;
            /** A hint shown to editors to help them understand the purpose of this model/block */
            hint?: string | null;
        };
        relationships?: {
            /** The field upon which the collection is sorted */
            ordering_field?: {
                data: FieldData | null;
            };
            /** The field to use as display title */
            title_field?: {
                data: FieldData | null;
            };
            /** The workflow to enforce on records */
            workflow?: {
                data: WorkflowData | null;
            };
        };
    };
}
/** This interface was referenced by `ModelBlock`'s JSON-Schema via the `update.targetSchema` link. */
export interface ItemTypeUpdateTargetSchema {
    data: Job;
}
/** This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "job". */
export interface Job {
    type: TargetSchemaPropertiesDataType;
    id: TargetSchemaPropertiesDataIdentity;
}
/**
 * JSON API data
 *
 * This interface was referenced by `Job`'s JSON-Schema via the `definition` "data".
 */
export interface TargetSchemaPropertiesDataData {
    type: TargetSchemaPropertiesDataType;
    id: TargetSchemaPropertiesDataIdentity;
}
/** This interface was referenced by `ModelBlock`'s JSON-Schema via the `update.jobSchema` link. */
export interface ItemTypeUpdateJobSchema {
    data: ModelBlock;
}
/**
 * This interface was referenced by `ModelBlock`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface ItemTypeInstancesTargetSchema {
    data: ModelBlock[];
}
/** This interface was referenced by `ModelBlock`'s JSON-Schema via the `self.targetSchema` link. */
export interface ItemTypeSelfTargetSchema {
    data: ModelBlock;
}
/**
 * This interface was referenced by `ModelBlock`'s JSON-Schema via the
 * `duplicate.targetSchema` link.
 */
export interface ItemTypeDuplicateTargetSchema {
    data: ModelBlock;
}
/** This interface was referenced by `ModelBlock`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface ItemTypeDestroyTargetSchema {
    data: Job;
}
/** This interface was referenced by `ModelBlock`'s JSON-Schema via the `destroy.jobSchema` link. */
export interface ItemTypeDestroyJobSchema {
    data: ModelBlock;
}
/**
 * Each Model consists of a set of fields. Using the database metaphore, fields are like
 * table columns, and when creating them you need to specify their type (`string`,
 * `file`, `float`, etc.) and any required validation.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "field".
 */
export interface Field {
    type: FieldType;
    id: FieldIdentity;
    attributes: FieldAttributes;
    relationships: FieldRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `Field`'s JSON-Schema via the `definition` "attributes".
 */
export interface FieldAttributes {
    /** The label of the field */
    label: string;
    /** Type of input */
    field_type: string;
    /** Whether the field needs to be multilanguage or not */
    localized: boolean;
    /**
     * Default value for Field. When field is localized accepts an object of default values
     * with site locales as keys
     */
    default_value: boolean | null | string | number | {
        [k: string]: unknown;
    };
    /** Field API key */
    api_key: string;
    /** Field hint */
    hint: string | null;
    /** Optional field validations */
    validators: {
        [k: string]: unknown;
    };
    /** Field appearance */
    appeareance: {
        editor: string;
        parameters: {
            [k: string]: unknown;
        };
        [k: string]: unknown;
    };
    /** Field appearance details, plugin configuration and field add-ons */
    appearance: {
        /**
         * A valid editor can be a DatoCMS default field editor type (ie. `"single_line"`),
         * or a plugin ID offering a custom field editor
         */
        editor: string;
        /** The specific field extension to use for the field (only if the editor is a modern plugin) */
        field_extension?: string;
        /** The editor plugin's parameters */
        parameters: {
            [k: string]: unknown;
        };
        /** An array of add-on plugins with id and parameters */
        addons: {
            /** The ID of a plugin offering a field addon */
            id: string;
            /** The specific field extension to use for the field (only if the editor is a modern plugin) */
            field_extension?: string;
            parameters: {
                [k: string]: unknown;
            };
            [k: string]: unknown;
        }[];
        [k: string]: unknown;
    };
    /** Ordering index */
    position: number;
}
/**
 * JSON API links
 *
 * This interface was referenced by `Field`'s JSON-Schema via the `definition` "relationships".
 */
export interface FieldRelationships {
    /** Field item type */
    item_type: {
        data: ItemTypeData;
    };
    /** Fieldset linkage */
    fieldset: {
        data: null | FieldsetData;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "data".
 */
export interface FieldsetData {
    type: FieldsetType;
    id: FieldsetIdentity;
}
/** This interface was referenced by `Field`'s JSON-Schema via the `create.schema` link. */
export interface FieldCreateSchema {
    data: {
        type: FieldType;
        /** JSON API attributes */
        attributes: {
            /** The label of the field */
            label: string;
            /** Type of input */
            field_type: string;
            /** Field API key */
            api_key: string;
            /** Whether the field needs to be multilanguage or not */
            localized?: boolean;
            /** Optional field validations */
            validators?: {
                [k: string]: unknown;
            };
            /** Field appearance */
            appeareance?: {
                editor: string;
                parameters: {
                    [k: string]: unknown;
                };
                [k: string]: unknown;
            };
            /** Field appearance details, plugin configuration and field add-ons */
            appearance?: {
                /**
                 * A valid editor can be a DatoCMS default field editor type (ie.
                 * `"single_line"`), or a plugin ID offering a custom field editor
                 */
                editor: string;
                /**
                 * The specific field extension to use for the field (only if the editor is a
                 * modern plugin)
                 */
                field_extension?: string;
                /** The editor plugin's parameters */
                parameters: {
                    [k: string]: unknown;
                };
                /** An array of add-on plugins with id and parameters */
                addons: {
                    /** The ID of a plugin offering a field addon */
                    id: string;
                    /**
                     * The specific field extension to use for the field (only if the editor is a
                     * modern plugin)
                     */
                    field_extension?: string;
                    parameters: {
                        [k: string]: unknown;
                    };
                    [k: string]: unknown;
                }[];
                [k: string]: unknown;
            };
            /** Ordering index */
            position?: number;
            /** Field hint */
            hint?: string | null;
            /**
             * Default value for Field. When field is localized accepts an object of default
             * values with site locales as keys
             */
            default_value?: boolean | null | string | number | {
                [k: string]: unknown;
            };
        };
        /** JSON API links */
        relationships?: {
            /** Fieldset linkage */
            fieldset: {
                data: null | FieldsetData;
            };
        };
    };
}
/** This interface was referenced by `Field`'s JSON-Schema via the `create.targetSchema` link. */
export interface FieldCreateTargetSchema {
    data: Job;
}
/** This interface was referenced by `Field`'s JSON-Schema via the `create.jobSchema` link. */
export interface FieldCreateJobSchema {
    data: Field;
    included?: ModelBlock[];
}
/** This interface was referenced by `Field`'s JSON-Schema via the `update.schema` link. */
export interface FieldUpdateSchema {
    data: {
        type: FieldType;
        id: FieldIdentity;
        attributes: {
            /**
             * Default value for Field. When field is localized accepts an object of default
             * values with site locales as keys
             */
            default_value?: boolean | null | string | number | {
                [k: string]: unknown;
            };
            /** The label of the field */
            label?: string;
            /** Field API key */
            api_key?: string;
            /** Whether the field needs to be multilanguage or not */
            localized?: boolean;
            /** Optional field validations */
            validators?: {
                [k: string]: unknown;
            };
            /** Field appearance */
            appeareance?: {
                editor: string;
                parameters: {
                    [k: string]: unknown;
                };
                [k: string]: unknown;
            };
            /** Field appearance details, plugin configuration and field add-ons */
            appearance?: {
                /**
                 * A valid editor can be a DatoCMS default field editor type (ie.
                 * `"single_line"`), or a plugin ID offering a custom field editor
                 */
                editor: string;
                /**
                 * The specific field extension to use for the field (only if the editor is a
                 * modern plugin)
                 */
                field_extension?: string;
                /** The editor plugin's parameters */
                parameters: {
                    [k: string]: unknown;
                };
                /** An array of add-on plugins with id and parameters */
                addons: {
                    /** The ID of a plugin offering a field addon */
                    id: string;
                    /**
                     * The specific field extension to use for the field (only if the editor is a
                     * modern plugin)
                     */
                    field_extension?: string;
                    parameters: {
                        [k: string]: unknown;
                    };
                    [k: string]: unknown;
                }[];
                [k: string]: unknown;
            };
            /** Ordering index */
            position?: number;
            /** Type of input */
            field_type?: string;
            /** Field hint */
            hint?: string | null;
        };
        /** JSON API links */
        relationships?: {
            /** Fieldset linkage */
            fieldset: {
                data: null | FieldsetData;
            };
        };
    };
}
/** This interface was referenced by `Field`'s JSON-Schema via the `update.targetSchema` link. */
export interface FieldUpdateTargetSchema {
    data: Job;
}
/** This interface was referenced by `Field`'s JSON-Schema via the `update.jobSchema` link. */
export interface FieldUpdateJobSchema {
    data: Field;
    included?: (ModelBlock | Field)[];
}
/** This interface was referenced by `Field`'s JSON-Schema via the `instances.targetSchema` link. */
export interface FieldInstancesTargetSchema {
    data: Field[];
}
/** This interface was referenced by `Field`'s JSON-Schema via the `referencing.targetSchema` link. */
export interface FieldReferencingTargetSchema {
    data: Field[];
}
/** This interface was referenced by `Field`'s JSON-Schema via the `related.targetSchema` link. */
export interface FieldRelatedTargetSchema {
    data: Field[];
}
/** This interface was referenced by `Field`'s JSON-Schema via the `self.targetSchema` link. */
export interface FieldSelfTargetSchema {
    data: Field;
}
/** This interface was referenced by `Field`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface FieldDestroyTargetSchema {
    data: Job;
}
/** This interface was referenced by `Field`'s JSON-Schema via the `destroy.jobSchema` link. */
export interface FieldDestroyJobSchema {
    data: Field;
    included?: ModelBlock[];
}
/** This interface was referenced by `Field`'s JSON-Schema via the `duplicate.targetSchema` link. */
export interface FieldDuplicateTargetSchema {
    data: Job;
}
/** This interface was referenced by `Field`'s JSON-Schema via the `duplicate.jobSchema` link. */
export interface FieldDuplicateJobSchema {
    data: Field;
    included: ModelBlock[];
}
/**
 * Fields can be organized and grouped into fieldset to better present them to editors.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "fieldset".
 */
export interface Fieldset {
    type: FieldsetType;
    id: FieldsetIdentity;
    attributes: FieldsetAttributes;
    relationships: FieldsetRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "attributes".
 */
export interface FieldsetAttributes {
    /** The title of the fieldset */
    title: string;
    /** Description/contextual hint for the fieldset */
    hint: string | null;
    /** Whether the fieldset can be collapsed or not */
    collapsible: boolean;
    /** When fieldset is collapsible, determines if the default is to start collapsed or not */
    start_collapsed: boolean;
    /** Ordering index */
    position: number;
}
/**
 * JSON API links
 *
 * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "relationships".
 */
export interface FieldsetRelationships {
    /** Fieldset item type */
    item_type: {
        data: ItemTypeData;
    };
}
/** This interface was referenced by `Fieldset`'s JSON-Schema via the `create.schema` link. */
export interface FieldsetCreateSchema {
    data: {
        type: FieldsetType;
        /** JSON API attributes */
        attributes: {
            /** The title of the fieldset */
            title: string;
            /** Description/contextual hint for the fieldset */
            hint?: string | null;
            /** Ordering index */
            position?: number;
            /** Whether the fieldset can be collapsed or not */
            collapsible?: boolean;
            /** When fieldset is collapsible, determines if the default is to start collapsed or not */
            start_collapsed?: boolean;
        };
    };
}
/** This interface was referenced by `Fieldset`'s JSON-Schema via the `create.targetSchema` link. */
export interface FieldsetCreateTargetSchema {
    data: Fieldset;
}
/** This interface was referenced by `Fieldset`'s JSON-Schema via the `update.schema` link. */
export interface FieldsetUpdateSchema {
    data: {
        type: FieldsetType;
        id: FieldsetIdentity;
        attributes: {
            /** The title of the fieldset */
            title?: string;
            /** Description/contextual hint for the fieldset */
            hint?: string | null;
            /** Ordering index */
            position?: number;
            /** Whether the fieldset can be collapsed or not */
            collapsible?: boolean;
            /** When fieldset is collapsible, determines if the default is to start collapsed or not */
            start_collapsed?: boolean;
        };
    };
}
/** This interface was referenced by `Fieldset`'s JSON-Schema via the `update.targetSchema` link. */
export interface FieldsetUpdateTargetSchema {
    data: Fieldset;
}
/** This interface was referenced by `Fieldset`'s JSON-Schema via the `instances.targetSchema` link. */
export interface FieldsetInstancesTargetSchema {
    data: Fieldset[];
}
/** This interface was referenced by `Fieldset`'s JSON-Schema via the `self.targetSchema` link. */
export interface FieldsetSelfTargetSchema {
    data: Fieldset;
}
/** This interface was referenced by `Fieldset`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface FieldsetDestroyTargetSchema {
    data: Fieldset;
}
/**
 * A session is required to access to read-and-write API endpoints
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "session".
 */
export interface Session {
    type: SessionType;
    id: SessionIdentity;
    relationships: SessionRelationships;
}
/**
 * JSON API links
 *
 * This interface was referenced by `Session`'s JSON-Schema via the `definition` "relationships".
 */
export interface SessionRelationships {
    /** The user associated with the session */
    user: {
        data: UserData;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `Session`'s JSON-Schema via the `definition` "data".
 */
export interface SessionData {
    type: SessionType;
    id: SessionIdentity;
}
/** This interface was referenced by `Session`'s JSON-Schema via the `create.schema` link. */
export interface SessionCreateSchema {
    data: {
        /** JSON API type field */
        type: 'email_credentials';
        /** JSON API attributes */
        attributes: {
            /** Email */
            email: string;
            /** Password */
            password: string;
            /** Two-factor authentication one-time password */
            otp_code?: string;
        };
    } | {
        /** JSON API type field */
        type: 'password_reset';
        /** JSON API attributes */
        attributes: {
            /** Invitation token */
            token: string;
            /** Password */
            password: string;
        };
    } | {
        /** JSON API type field */
        type: 'invitation';
        /** JSON API attributes */
        attributes: {
            /** Invitation token */
            token: string;
            /** Password */
            password: string;
        };
    };
}
/** This interface was referenced by `Session`'s JSON-Schema via the `create.targetSchema` link. */
export interface SessionCreateTargetSchema {
    data: Session;
    included: User[];
}
/**
 * An API token allows access to our API. It is linked to a Role, which describes what
 * actions can be performed.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "access_token".
 */
export interface AccessToken {
    type: AccessTokenType;
    id: AccessTokenIdentity;
    attributes: AccessTokenAttributes;
    relationships: AccessTokenRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `AccessToken`'s JSON-Schema via the `definition` "attributes".
 */
export interface AccessTokenAttributes {
    /** Name of API token */
    name: string;
    /** The actual API token */
    token?: string;
    /** Whether this API token can access the Content Delivery API published content endpoint */
    can_access_cda: boolean;
    /** Whether this API token can access the Content Delivery API draft content endpoint */
    can_access_cda_preview: boolean;
    /** Whether this API token can access the Content Management API */
    can_access_cma: boolean;
    hardcoded_type: null | string;
}
/**
 * JSON API links
 *
 * This interface was referenced by `AccessToken`'s JSON-Schema via the `definition`
 * "relationships".
 */
export interface AccessTokenRelationships {
    /** Role */
    role: {
        data: RoleData | null;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `AccessToken`'s JSON-Schema via the `definition` "data".
 */
export interface AccessTokenData {
    type: AccessTokenType;
    id: AccessTokenIdentity;
}
/** This interface was referenced by `AccessToken`'s JSON-Schema via the `create.schema` link. */
export interface AccessTokenCreateSchema {
    data: {
        type: AccessTokenType;
        attributes: {
            /** Name of API token */
            name: string;
            /** Whether this API token can access the Content Delivery API published content endpoint */
            can_access_cda: boolean;
            /** Whether this API token can access the Content Delivery API draft content endpoint */
            can_access_cda_preview: boolean;
            /** Whether this API token can access the Content Management API */
            can_access_cma: boolean;
        };
        relationships: {
            /** Role */
            role: {
                data: RoleData | null;
            };
        };
    };
}
/** This interface was referenced by `AccessToken`'s JSON-Schema via the `create.targetSchema` link. */
export interface AccessTokenCreateTargetSchema {
    data: AccessToken;
}
/** This interface was referenced by `AccessToken`'s JSON-Schema via the `update.schema` link. */
export interface AccessTokenUpdateSchema {
    data: {
        type: AccessTokenType;
        id: AccessTokenIdentity;
        attributes: {
            /** Name of API token */
            name: string;
            /** Whether this API token can access the Content Delivery API published content endpoint */
            can_access_cda: boolean;
            /** Whether this API token can access the Content Delivery API draft content endpoint */
            can_access_cda_preview: boolean;
            /** Whether this API token can access the Content Management API */
            can_access_cma: boolean;
        };
        relationships: {
            /** Role */
            role: {
                data: RoleData | null;
            };
        };
    };
}
/** This interface was referenced by `AccessToken`'s JSON-Schema via the `update.targetSchema` link. */
export interface AccessTokenUpdateTargetSchema {
    data: AccessToken;
}
/**
 * This interface was referenced by `AccessToken`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface AccessTokenInstancesTargetSchema {
    data: AccessToken[];
}
/** This interface was referenced by `AccessToken`'s JSON-Schema via the `self.targetSchema` link. */
export interface AccessTokenSelfTargetSchema {
    data: AccessToken;
}
/**
 * This interface was referenced by `AccessToken`'s JSON-Schema via the
 * `regenerate_token.targetSchema` link.
 */
export interface AccessTokenRegenerateTokenTargetSchema {
    data: AccessToken;
}
/**
 * This interface was referenced by `AccessToken`'s JSON-Schema via the
 * `destroy.targetSchema` link.
 */
export interface AccessTokenDestroyTargetSchema {
    data: AccessToken;
}
/**
 * Plugins enable developers to replace DatoCMS field components with HTML5 applications
 * so the editing experiences of the DatoCMS web app can be customized.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "plugin".
 */
export interface Plugin {
    type: PluginType;
    id: PluginIdentity;
    attributes: PluginAttributes;
    meta: PluginMeta;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `Plugin`'s JSON-Schema via the `definition` "attributes".
 */
export interface PluginAttributes {
    /** The name of the plugin */
    name: string;
    /** A description of the plugin */
    description: null | string;
    /** NPM package name of the plugin (or null if it's a private plugin) */
    package_name: null | string;
    /** The installed version of the plugin (or null if it's a private plugin) */
    package_version: null | string;
    /** The entry point URL of the plugin */
    url: string;
    /**
     * Global plugin configuration. Plugins can persist whatever information they want in
     * this object to reuse it later.
     */
    parameters: {
        [k: string]: unknown;
    };
    /** Permissions granted to this plugin */
    permissions: 'currentUserAccessToken'[];
    /** The type of field extension a legacy plugin implements */
    plugin_type: 'field_editor' | 'sidebar' | 'field_addon' | null;
    /** On which types of field in which a legacy plugin can be used */
    field_types: null | ('boolean' | 'date' | 'date_time' | 'float' | 'integer' | 'string' | 'text' | 'lat_lon' | 'json' | 'seo' | 'link' | 'links' | 'video' | 'color' | 'slug' | 'rich_text' | 'file' | 'gallery')[];
    /** The schema for the parameters a legacy plugin can persist */
    parameter_definitions: null | {
        global: unknown[];
        instance: unknown[];
    };
}
/**
 * JSON API meta
 *
 * This interface was referenced by `Plugin`'s JSON-Schema via the `definition` "meta".
 */
export interface PluginMeta {
    /** Version of the plugin. Legacy plugins are v1, new plugins are v2 */
    version: string;
}
/**
 * JSON API data
 *
 * This interface was referenced by `Plugin`'s JSON-Schema via the `definition` "data".
 */
export interface PluginData {
    type: PluginType;
    id: PluginIdentity;
}
/** This interface was referenced by `Plugin`'s JSON-Schema via the `create.schema` link. */
export interface PluginCreateSchema {
    data: {
        type: PluginType;
        attributes: {
            /**
             * NPM package name of the public plugin you want to install. For public plugins,
             * that's the only attribute you need to pass.
             */
            package_name?: string;
            /** The name of the plugin. Only to be passed if package name key is not specified. */
            name?: string;
            /** A description of the plugin. Only to be passed if package name key is not specified. */
            description?: string;
            /** The entry point URL of the plugin. Only to be passed if package name key is not specified. */
            url?: string;
            /**
             * Permissions granted to this plugin. Only to be passed if package name key is not
             * specified.
             */
            permissions?: 'currentUserAccessToken'[];
            /**
             * The type of field extension this legacy plugin implements. Only to be passed if
             * package name key is not specified.
             */
            plugin_type?: 'field_editor' | 'sidebar' | 'field_addon';
            /**
             * On which types of field in which this legacy plugin can be used. Only to be
             * passed if package name key is not specified.
             */
            field_types?: ('boolean' | 'date' | 'date_time' | 'float' | 'integer' | 'string' | 'text' | 'lat_lon' | 'json' | 'seo' | 'link' | 'links' | 'video' | 'color' | 'slug' | 'rich_text' | 'file' | 'gallery')[];
            /** The schema for the parameters this legacy plugin can persist */
            parameter_definitions?: {
                global: unknown[];
                instance: unknown[];
            };
            /** NPM version of the plugin */
            package_version?: string;
        };
    };
}
/** This interface was referenced by `Plugin`'s JSON-Schema via the `create.targetSchema` link. */
export interface PluginCreateTargetSchema {
    data: Plugin;
}
/** This interface was referenced by `Plugin`'s JSON-Schema via the `update.schema` link. */
export interface PluginUpdateSchema {
    data: {
        type: PluginType;
        id: PluginIdentity;
        attributes: {
            /** The name of the plugin */
            name?: string;
            /** A description of the plugin */
            description?: null | string;
            /** The entry point URL of the plugin */
            url?: string;
            /**
             * Global plugin configuration. Plugins can persist whatever information they want
             * in this object to reuse it later.
             */
            parameters?: {
                [k: string]: unknown;
            };
            /** The installed version of the plugin (or null if it's a private plugin) */
            package_version?: null | string;
        };
        meta?: {
            [k: string]: unknown;
        };
    };
}
/** This interface was referenced by `Plugin`'s JSON-Schema via the `update.targetSchema` link. */
export interface PluginUpdateTargetSchema {
    data: Plugin;
}
/** This interface was referenced by `Plugin`'s JSON-Schema via the `instances.targetSchema` link. */
export interface PluginInstancesTargetSchema {
    data: Plugin[];
}
/** This interface was referenced by `Plugin`'s JSON-Schema via the `self.targetSchema` link. */
export interface PluginSelfTargetSchema {
    data: Plugin;
}
/** This interface was referenced by `Plugin`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface PluginDestroyTargetSchema {
    data: Plugin;
}
/** This interface was referenced by `Plugin`'s JSON-Schema via the `fields.targetSchema` link. */
export interface PluginFieldsTargetSchema {
    data: Field[];
}
/**
 * Some API endpoint give results asynchronously, returning the ID of a job.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "job_result".
 */
export interface JobResult {
    type: JobResultType;
    id: JobResultIdentity;
    attributes: JobResultAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `JobResult`'s JSON-Schema via the `definition` "attributes".
 */
export interface JobResultAttributes {
    /** Status of delayed HTTP response */
    status: number;
    /** JSON API response of the HTTP request */
    payload: null | {
        [k: string]: unknown;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `JobResult`'s JSON-Schema via the `definition` "data".
 */
export interface JobResultData {
    type: JobResultType;
    id: JobResultIdentity;
}
/** This interface was referenced by `JobResult`'s JSON-Schema via the `self.targetSchema` link. */
export interface JobResultSelfTargetSchema {
    data: JobResult;
}
/**
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "subscription_limit".
 */
export interface SubscriptionLimit {
    type: SubscriptionLimitType;
    id: SubscriptionLimitIdentity;
    attributes: SubscriptionLimitAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `SubscriptionLimit`'s JSON-Schema via the
 * `definition` "attributes".
 */
export interface SubscriptionLimitAttributes {
    /** The codename for the limit */
    code: string;
    /** Current usage */
    usage: number;
    /** The actual limit */
    limit: number | null;
}
/**
 * JSON API data
 *
 * This interface was referenced by `SubscriptionLimit`'s JSON-Schema via the `definition` "data".
 */
export interface SubscriptionLimitData {
    type: SubscriptionLimitType;
    id: SubscriptionLimitIdentity;
}
/**
 * This interface was referenced by `SubscriptionLimit`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface SubscriptionLimitInstancesTargetSchema {
    data: SubscriptionLimit[];
}
/**
 * This interface was referenced by `SubscriptionLimit`'s JSON-Schema via the
 * `self.targetSchema` link.
 */
export interface SubscriptionLimitSelfTargetSchema {
    data: SubscriptionLimit;
}
/**
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "subscription_feature".
 */
export interface SubscriptionFeature {
    type: SubscriptionFeatureType;
    id: SubscriptionFeatureIdentity;
    attributes: SubscriptionFeatureAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `SubscriptionFeature`'s JSON-Schema via the
 * `definition` "attributes".
 */
export interface SubscriptionFeatureAttributes {
    /** The codename for the feature */
    code: string;
    /** Whether the project is currently using the feature */
    in_use?: boolean;
    /** Whether the feature is available on the current project */
    enabled: boolean;
}
/**
 * JSON API data
 *
 * This interface was referenced by `SubscriptionFeature`'s JSON-Schema via the
 * `definition` "data".
 */
export interface SubscriptionFeatureData {
    type: SubscriptionFeatureType;
    id: SubscriptionFeatureIdentity;
}
/**
 * This interface was referenced by `SubscriptionFeature`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface SubscriptionFeatureInstancesTargetSchema {
    data: SubscriptionFeature[];
}
/**
 * Represents an event occurred during the deploy process of your administrative area.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "build_event".
 */
export interface BuildEvent {
    type: BuildEventType;
    id: BuildEventIdentity;
    attributes: BuildEventAttributes;
    relationships: BuildEventRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `BuildEvent`'s JSON-Schema via the `definition` "attributes".
 */
export interface BuildEventAttributes {
    /** The type of activity */
    event_type: 'request_success' | 'request_failure' | 'response_success' | 'response_failure' | 'request_aborted' | 'response_unprocessable' | 'indexing_started' | 'indexing_success' | 'indexing_failure';
    /** The moment the activity occurred */
    created_at: string;
    /** Any details regarding the event */
    data: {
        [k: string]: unknown;
    };
}
/**
 * JSON API links
 *
 * This interface was referenced by `BuildEvent`'s JSON-Schema via the `definition`
 * "relationships".
 */
export interface BuildEventRelationships {
    /** Source build trigger */
    build_trigger: {
        data: BuildTriggerData;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `BuildTrigger`'s JSON-Schema via the `definition` "data".
 */
export interface BuildTriggerData {
    type: BuildTriggerType;
    id: BuildTriggerIdentity;
}
/**
 * JSON API data
 *
 * This interface was referenced by `BuildEvent`'s JSON-Schema via the `definition` "data".
 */
export interface BuildEventData {
    type: BuildEventType;
    id: BuildEventIdentity;
}
/**
 * This interface was referenced by `BuildEvent`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface BuildEventInstancesTargetSchema {
    data: BuildEvent[];
}
/** This interface was referenced by `BuildEvent`'s JSON-Schema via the `self.targetSchema` link. */
export interface BuildEventSelfTargetSchema {
    data: BuildEvent;
}
/**
 * DatoCMS stores the individual pieces of content you create from a model as records,
 * which are much like table rows in a database. For backward-compatibility reasons, the
 * API refers to records as "items".
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "item".
 */
export interface Item {
    type: ItemType;
    id: ItemIdentity;
    attributes: ItemAttributes;
    relationships: ItemRelationships;
    meta: ItemMeta;
}
/**
 * The JSON data associated to the record
 *
 * This interface was referenced by `Item`'s JSON-Schema via the `definition` "attributes".
 */
export interface ItemAttributes {
    [k: string]: unknown;
}
/**
 * JSON API links
 *
 * This interface was referenced by `Item`'s JSON-Schema via the `definition` "relationships".
 */
export interface ItemRelationships {
    /** The record's model */
    item_type: {
        data: ItemTypeData;
    };
    /**
     * The entity (account/collaborator/access token/sso user) who created the record. It
     * must be an object with `type` (e.g. 'account') and `id` properties.
     */
    creator?: {
        data: AccountData | AccessTokenData | UserData | SsoUserData;
    };
}
/**
 * Meta information regarding the record
 *
 * This interface was referenced by `Item`'s JSON-Schema via the `definition` "meta".
 */
export interface ItemMeta {
    /** Date of creation */
    created_at: string;
    /** Last update time */
    updated_at: string;
    /** Date of last publication */
    published_at: null | string;
    /** Date of first publication */
    first_published_at: null | string;
    /** Date of future publication */
    publication_scheduled_at: null | string;
    /** Date of future unpublishing */
    unpublishing_scheduled_at: null | string;
    /** Status */
    status: null | ('draft' | 'updated' | 'published');
    /** Whether the current record is valid or not */
    is_valid: boolean;
    /** The ID of the current record version */
    current_version: string;
    /** Workflow stage in which the item is */
    stage: null | string;
}
/** This interface was referenced by `Item`'s JSON-Schema via the `instances.targetSchema` link. */
export interface ItemInstancesTargetSchema {
    data: Item[];
    meta: {
        total_count: number;
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `validate_existing.schema` link. */
export interface ItemValidateExistingSchema {
    data: {
        id: ItemIdentity;
        type: ItemType;
        /** The JSON data associated to the record */
        attributes: {
            [k: string]: unknown;
        };
        relationships: {
            item_type: {
                data: ItemTypeData;
            };
            /**
             * The entity (account/collaborator/access token/sso user) who created the record.
             * It must be an object with `type` (e.g. 'account') and `id` properties.
             */
            creator?: {
                data: AccountData | AccessTokenData | UserData | SsoUserData;
            };
        };
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `validate_new.schema` link. */
export interface ItemValidateNewSchema {
    data: {
        type: ItemType;
        /** The JSON data associated to the record */
        attributes: {
            [k: string]: unknown;
        };
        relationships: {
            item_type: {
                data: ItemTypeData;
            };
        };
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `create.schema` link. */
export interface ItemCreateSchema {
    data: {
        type: ItemType;
        /** The JSON data associated to the record */
        attributes: {
            [k: string]: unknown;
        };
        /** Meta information regarding the record */
        meta?: {
            /** Date of creation */
            created_at?: string;
            /** Last update time */
            updated_at?: string;
            /** Date of last publication */
            published_at?: null | string;
            /** Date of first publication */
            first_published_at?: null | string;
            /** Date of future publication */
            publication_scheduled_at?: null | string;
            /** Status */
            status?: null | ('draft' | 'updated' | 'published');
            /** Whether the current record is valid or not */
            is_valid?: boolean;
            /** The ID of the current record version */
            current_version?: string;
        };
        relationships: {
            /** The record model */
            item_type: {
                data: ItemTypeData;
            };
        };
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `create.targetSchema` link. */
export interface ItemCreateTargetSchema {
    data: Item;
    included: (ModelBlock | Item)[];
}
/** This interface was referenced by `Item`'s JSON-Schema via the `duplicate.targetSchema` link. */
export interface ItemDuplicateTargetSchema {
    data: Job;
}
/** This interface was referenced by `Item`'s JSON-Schema via the `duplicate.jobSchema` link. */
export interface ItemDuplicateJobSchema {
    data: Item;
    included: ModelBlock[];
}
/** This interface was referenced by `Item`'s JSON-Schema via the `update.schema` link. */
export interface ItemUpdateSchema {
    data: {
        type: ItemType;
        id: ItemIdentity;
        /** The JSON data associated to the record */
        attributes?: {
            [k: string]: unknown;
        };
        /** Meta information regarding the record */
        meta?: {
            /** Date of creation */
            created_at?: string;
            /** Last update time */
            updated_at?: string;
            /** Date of last publication */
            published_at?: null | string;
            /** Date of first publication */
            first_published_at?: null | string;
            /** Date of future publication */
            publication_scheduled_at?: null | string;
            /** Date of future unpublishing */
            unpublishing_scheduled_at?: null | string;
            /** Status */
            status?: null | ('draft' | 'updated' | 'published');
            /** Whether the current record is valid or not */
            is_valid?: boolean;
            /** The ID of the current record version (for optimistic locking, see the example) */
            current_version?: string;
            /** The new stage to move the record to */
            stage?: string | null;
        };
        relationships?: {
            creator?: {
                data: AccountData | AccessTokenData | UserData | SsoUserData;
            };
        };
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `update.targetSchema` link. */
export interface ItemUpdateTargetSchema {
    data: Item;
    included?: (ModelBlock | Item)[];
}
/** This interface was referenced by `Item`'s JSON-Schema via the `references.targetSchema` link. */
export interface ItemReferencesTargetSchema {
    data: Item[];
}
/** This interface was referenced by `Item`'s JSON-Schema via the `self.targetSchema` link. */
export interface ItemSelfTargetSchema {
    data: Item;
}
/** This interface was referenced by `Item`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface ItemDestroyTargetSchema {
    data: Job;
}
/** This interface was referenced by `Item`'s JSON-Schema via the `destroy.jobSchema` link. */
export interface ItemDestroyJobSchema {
    data: Item;
}
/** This interface was referenced by `Item`'s JSON-Schema via the `batch_destroy.targetSchema` link. */
export interface ItemBatchDestroyTargetSchema {
    data: Job;
}
/** This interface was referenced by `Item`'s JSON-Schema via the `batch_destroy.jobSchema` link. */
export interface ItemBatchDestroyJobSchema {
    data: unknown[];
    meta: {
        successful: number;
        failed: number;
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `batch_publish.targetSchema` link. */
export interface ItemBatchPublishTargetSchema {
    data: Job;
}
/** This interface was referenced by `Item`'s JSON-Schema via the `batch_publish.jobSchema` link. */
export interface ItemBatchPublishJobSchema {
    data: unknown[];
    meta: {
        successful: number;
        failed: number;
    };
}
/**
 * This interface was referenced by `Item`'s JSON-Schema via the
 * `batch_unpublish.targetSchema` link.
 */
export interface ItemBatchUnpublishTargetSchema {
    data: Job;
}
/** This interface was referenced by `Item`'s JSON-Schema via the `batch_unpublish.jobSchema` link. */
export interface ItemBatchUnpublishJobSchema {
    data: unknown[];
    meta: {
        successful: number;
        failed: number;
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `publish.targetSchema` link. */
export interface ItemPublishTargetSchema {
    data: Item;
    included?: ModelBlock[];
}
/** This interface was referenced by `Item`'s JSON-Schema via the `unpublish.targetSchema` link. */
export interface ItemUnpublishTargetSchema {
    data: Item;
    included?: ModelBlock[];
}
/** This interface was referenced by `Item`'s JSON-Schema via the `bulk_publish.schema` link. */
export interface ItemBulkPublishSchema {
    data: {
        /** JSON API type field */
        type: 'item_bulk_publish_operation';
        relationships: {
            /** Records to publish */
            items: {
                data: ItemData[];
            };
            minItems?: unknown;
        };
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `bulk_publish.targetSchema` link. */
export interface ItemBulkPublishTargetSchema {
    data: Job;
}
/** This interface was referenced by `Item`'s JSON-Schema via the `bulk_publish.jobSchema` link. */
export interface ItemBulkPublishJobSchema {
    data: unknown[];
    meta: {
        successful: number;
        failed: number;
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `bulk_unpublish.schema` link. */
export interface ItemBulkUnpublishSchema {
    data: {
        /** JSON API type field */
        type: 'item_bulk_unpublish_operation';
        relationships: {
            /** Records to unpublish */
            items: {
                data: ItemData[];
            };
            minItems?: unknown;
        };
    };
}
/**
 * This interface was referenced by `Item`'s JSON-Schema via the
 * `bulk_unpublish.targetSchema` link.
 */
export interface ItemBulkUnpublishTargetSchema {
    data: Job;
}
/** This interface was referenced by `Item`'s JSON-Schema via the `bulk_unpublish.jobSchema` link. */
export interface ItemBulkUnpublishJobSchema {
    data: unknown[];
    meta: {
        successful: number;
        failed: number;
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `bulk_destroy.schema` link. */
export interface ItemBulkDestroySchema {
    data: {
        /** JSON API type field */
        type: 'item_bulk_destroy_operation';
        relationships: {
            /** Records to delete */
            items: {
                data: ItemData[];
            };
            minItems?: unknown;
        };
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `bulk_destroy.targetSchema` link. */
export interface ItemBulkDestroyTargetSchema {
    data: Job;
}
/** This interface was referenced by `Item`'s JSON-Schema via the `bulk_destroy.jobSchema` link. */
export interface ItemBulkDestroyJobSchema {
    data: unknown[];
    meta: {
        successful: number;
        failed: number;
    };
}
/** This interface was referenced by `Item`'s JSON-Schema via the `bulk_move_to_stage.schema` link. */
export interface ItemBulkMoveToStageSchema {
    data: {
        /** JSON API type field */
        type: 'item_bulk_move_to_stage_operation';
        attributes: {
            /** Stage to be moved to */
            stage: string;
        };
        relationships: {
            /** Records to move */
            items: {
                data: ItemData[];
            };
            minItems?: unknown;
        };
    };
}
/**
 * This interface was referenced by `Item`'s JSON-Schema via the
 * `bulk_move_to_stage.targetSchema` link.
 */
export interface ItemBulkMoveToStageTargetSchema {
    data: Job;
}
/**
 * This interface was referenced by `Item`'s JSON-Schema via the
 * `bulk_move_to_stage.jobSchema` link.
 */
export interface ItemBulkMoveToStageJobSchema {
    data: unknown[];
    meta: {
        successful: number;
        failed: number;
    };
}
/**
 * Every change to a record is stored as a separate record version in DatoCMS.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "item_version".
 */
export interface ItemVersion {
    type: ItemVersionType;
    id: ItemVersionIdentity;
    attributes: ItemVersionAttributes;
    relationships: ItemVersionRelationships;
    meta: ItemVersionMeta;
}
/**
 * The JSON data associated to the record version
 *
 * This interface was referenced by `ItemVersion`'s JSON-Schema via the `definition` "attributes".
 */
export interface ItemVersionAttributes {
    [k: string]: unknown;
}
/**
 * JSON API links
 *
 * This interface was referenced by `ItemVersion`'s JSON-Schema via the `definition`
 * "relationships".
 */
export interface ItemVersionRelationships {
    /** The record version's model */
    item_type: {
        data: ItemTypeData;
    };
    /** The record this version belongs to */
    item: {
        data: ItemData;
    };
    /**
     * The entity (account/collaborator/access token/sso user) who made this change to the
     * record. It must be an object with `type` (e.g. 'account') and `id` properties.
     */
    editor: {
        data: AccountData | AccessTokenData | UserData | SsoUserData;
    };
}
/**
 * Meta information regarding the record version
 *
 * This interface was referenced by `ItemVersion`'s JSON-Schema via the `definition` "meta".
 */
export interface ItemVersionMeta {
    /** Date of record version creation */
    created_at: string;
    /** Whether the record version is valid or not */
    is_valid: boolean;
    /** Whether the record version is the published version or not */
    is_published: boolean;
    /** Whether the record version is the most recent version or not */
    is_current: boolean;
}
/**
 * JSON API data
 *
 * This interface was referenced by `ItemVersion`'s JSON-Schema via the `definition` "data".
 */
export interface ItemVersionData {
    type: ItemVersionType;
    id: ItemVersionIdentity;
}
/**
 * This interface was referenced by `ItemVersion`'s JSON-Schema via the
 * `restore.targetSchema` link.
 */
export interface ItemVersionRestoreTargetSchema {
    data: Job;
}
/** This interface was referenced by `ItemVersion`'s JSON-Schema via the `restore.jobSchema` link. */
export interface ItemVersionRestoreJobSchema {
    data: [Item, ItemVersion];
}
/**
 * This interface was referenced by `ItemVersion`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface ItemVersionInstancesTargetSchema {
    data: ItemVersion[];
    meta?: {
        [k: string]: unknown;
    };
}
/** This interface was referenced by `ItemVersion`'s JSON-Schema via the `self.targetSchema` link. */
export interface ItemVersionSelfTargetSchema {
    data: ItemVersion;
    meta?: {
        [k: string]: unknown;
    };
}
/**
 * Every file you upload to DatoCMS will be retrievable from this endpoint.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "upload".
 */
export interface Upload {
    type: UploadType;
    id: UploadIdentity;
    attributes: UploadAttributes;
    relationships: UploadRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `Upload`'s JSON-Schema via the `definition` "attributes".
 */
export interface UploadAttributes {
    /** Size of the upload */
    size: number;
    /** Width of image */
    width: null | number;
    /** Height of image */
    height: null | number;
    /** Upload path */
    path: string;
    /** Upload basename */
    basename: string;
    /** Upload filename */
    filename: string;
    /** Upload URL */
    url: string;
    /** Format */
    format: string | null;
    /** Author */
    author: string | null;
    /** Copyright */
    copyright: string | null;
    /** Notes */
    notes: string | null;
    /** The MD5 hash of the asset */
    md5: string;
    /** Seconds of duration for the video */
    duration: number | null;
    /** Frame rate (FPS) for the video */
    frame_rate: number | null;
    /** Blurhash for the asset */
    blurhash: string | null;
    /** Public Mux playback ID. Used with stream.mux.com to create the source URL for a video player. */
    mux_playback_id: string | null;
    /** Maximum quality of MP4 rendition available */
    mux_mp4_highest_res: null | 'high' | 'medium' | 'low';
    /**
     * For each of the project's locales, the default metadata to apply if nothing is
     * specified at record's level.
     */
    default_field_metadata: {
        /**
         * This interface was referenced by `undefined`'s JSON-Schema definition via the
         * `patternProperty` "^(?<languagecode>[a-z]{0,3}(-[A-Za-z]+)?(-[A-Z]{0,3})?)$".
         */
        [k: string]: {
            /** Alternate text for the asset */
            alt: string | null;
            /** Title for the asset */
            title: string | null;
            /** Object with arbitrary metadata */
            custom_data: {
                [k: string]: unknown;
            };
            /** Focal point (only for image assets) */
            focal_point: {
                /** Horizontal position expressed as float between 0 and 1 */
                x: number;
                /** Vertical position expressed as float between 0 and 1 */
                y: number;
            } | null;
        };
    };
    /** Is this upload an image? */
    is_image: boolean;
    /** Date of upload */
    created_at: null | string;
    /** Date of last update */
    updated_at: null | string;
    /** Mime type of upload */
    mime_type: null | string;
    /** Tags */
    tags: string[];
    /** Smart tags */
    smart_tags: string[];
    /** Exif information */
    exif_info: {
        [k: string]: unknown;
    };
    /** Dominant colors of the image */
    colors: {
        /** Red value (from 0 to 255) */
        red: number;
        /** Green value (from 0 to 255) */
        green: number;
        /** Blue value (from 0 to 255) */
        blue: number;
        /** Alpha value (from 0 to 255) */
        alpha: number;
    }[];
}
/**
 * JSON API links
 *
 * This interface was referenced by `Upload`'s JSON-Schema via the `definition` "relationships".
 */
export interface UploadRelationships {
    /**
     * The entity (account/collaborator/access token) who created the asset. It must be an
     * object with `type` (e.g. 'account') and `id` properties.
     */
    creator: {
        data: AccountData | AccessTokenData | UserData | SsoUserData;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `Upload`'s JSON-Schema via the `definition` "data".
 */
export interface UploadData {
    type: UploadType;
    id: UploadIdentity;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `create.schema` link. */
export interface UploadCreateSchema {
    data: {
        type: UploadType;
        attributes: {
            /** Upload path */
            path: string;
            /** Copyright */
            copyright?: string | null;
            /** Author */
            author?: string | null;
            /** Notes */
            notes?: string | null;
            /**
             * For each of the project's locales, the default metadata to apply if nothing is
             * specified at record's level.
             */
            default_field_metadata?: {
                /**
                 * This interface was referenced by `undefined`'s JSON-Schema definition via the
                 * `patternProperty` "^(?<languagecode>[a-z]{0,3}(-[A-Za-z]+)?(-[A-Z]{0,3})?)$".
                 */
                [k: string]: {
                    /** Alternate text for the asset */
                    alt?: string | null;
                    /** Title for the asset */
                    title?: string | null;
                    /** Object with arbitrary metadata */
                    custom_data?: {
                        [k: string]: unknown;
                    };
                    /** Focal point (only for image assets) */
                    focal_point?: {
                        /** Horizontal position expressed as float between 0 and 1 */
                        x: number;
                        /** Vertical position expressed as float between 0 and 1 */
                        y: number;
                    } | null;
                };
            };
            /** Tags */
            tags?: string[];
            [k: string]: unknown;
        };
    };
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `create.targetSchema` link. */
export interface UploadCreateTargetSchema {
    data: Job;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `create.jobSchema` link. */
export interface UploadCreateJobSchema {
    data: Upload;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `instances.targetSchema` link. */
export interface UploadInstancesTargetSchema {
    data: Upload[];
    meta?: {
        total_count: number;
    };
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `self.targetSchema` link. */
export interface UploadSelfTargetSchema {
    data: Upload;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface UploadDestroyTargetSchema {
    data: Upload;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `update.schema` link. */
export interface UploadUpdateSchema {
    data: {
        type: UploadType;
        id: UploadIdentity;
        attributes?: {
            /** Upload path */
            path?: string;
            /** Upload basename */
            basename?: string;
            /** Copyright */
            copyright?: string | null;
            /** Author */
            author?: string | null;
            /** Notes */
            notes?: string | null;
            /** Tags */
            tags?: string[];
            /**
             * For each of the project's locales, the default metadata to apply if nothing is
             * specified at record's level.
             */
            default_field_metadata?: {
                /**
                 * This interface was referenced by `undefined`'s JSON-Schema definition via the
                 * `patternProperty` "^(?<languagecode>[a-z]{0,3}(-[A-Za-z]+)?(-[A-Z]{0,3})?)$".
                 */
                [k: string]: {
                    /** Alternate text for the asset */
                    alt?: string | null;
                    /** Title for the asset */
                    title?: string | null;
                    /** Object with arbitrary metadata */
                    custom_data?: {
                        [k: string]: unknown;
                    };
                    /** Focal point (only for image assets) */
                    focal_point?: {
                        /** Horizontal position expressed as float between 0 and 1 */
                        x: number;
                        /** Vertical position expressed as float between 0 and 1 */
                        y: number;
                    } | null;
                };
            };
            [k: string]: unknown;
        };
        relationships?: {
            /**
             * The entity (account/collaborator/access token) who created the asset. It must be
             * an object with `type` (e.g. 'account') and `id` properties.
             */
            creator: {
                data: AccountData | AccessTokenData | UserData | SsoUserData;
            };
        };
    };
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `update.targetSchema` link. */
export interface UploadUpdateTargetSchema {
    data: Job;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `update.jobSchema` link. */
export interface UploadUpdateJobSchema {
    data: Upload;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `batch_add_tags.schema` link. */
export interface UploadBatchAddTagsSchema {
    data: {
        type: UploadType;
        attributes: {
            /** Tags */
            tags?: string[];
        };
    };
}
/**
 * This interface was referenced by `Upload`'s JSON-Schema via the
 * `batch_add_tags.targetSchema` link.
 */
export interface UploadBatchAddTagsTargetSchema {
    data: Job;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `batch_add_tags.jobSchema` link. */
export interface UploadBatchAddTagsJobSchema {
    data: unknown[];
    meta: {
        successful: number;
        failed: number;
    };
}
/**
 * This interface was referenced by `Upload`'s JSON-Schema via the
 * `batch_destroy.targetSchema` link.
 */
export interface UploadBatchDestroyTargetSchema {
    data: Job;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `batch_destroy.jobSchema` link. */
export interface UploadBatchDestroyJobSchema {
    data: unknown[];
    meta: {
        successful: number;
        failed: number;
    };
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `references.targetSchema` link. */
export interface UploadReferencesTargetSchema {
    data: Item;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `bulk_tag.schema` link. */
export interface UploadBulkTagSchema {
    data: {
        /** JSON API type field */
        type: 'upload_bulk_tag_operation';
        /** JSON API attributes */
        attributes: {
            /** The tags to add to the assets */
            tags: string[];
        };
        relationships: {
            /** Assets to tag */
            uploads: {
                data: UploadData[];
            };
        };
    };
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `bulk_tag.targetSchema` link. */
export interface UploadBulkTagTargetSchema {
    data: Job;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `bulk_tag.jobSchema` link. */
export interface UploadBulkTagJobSchema {
    data: unknown[];
    meta: {
        successful: number;
        failed: number;
    };
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `bulk_destroy.schema` link. */
export interface UploadBulkDestroySchema {
    data: {
        /** JSON API type field */
        type: 'upload_bulk_destroy_operation';
        relationships: {
            /** Assets to delete */
            uploads: {
                data: UploadData[];
            };
        };
    };
}
/**
 * This interface was referenced by `Upload`'s JSON-Schema via the
 * `bulk_destroy.targetSchema` link.
 */
export interface UploadBulkDestroyTargetSchema {
    data: Job;
}
/** This interface was referenced by `Upload`'s JSON-Schema via the `bulk_destroy.jobSchema` link. */
export interface UploadBulkDestroyJobSchema {
    data: unknown[];
    meta: {
        successful: number;
        failed: number;
    };
}
/**
 * To upload a file in DatoCMS, first you need to obtain an upload permission through
 * this API endpoint. The response will contain the S3 URL where you will be able to
 * upload the file with a direct PUT request.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "upload_request".
 */
export interface UploadRequest {
    type: UploadRequestType;
    id: UploadRequestIdentity;
    attributes: UploadRequestAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `UploadRequest`'s JSON-Schema via the `definition`
 * "attributes".
 */
export interface UploadRequestAttributes {
    /** The URL to use to upload the file with a direct PUT request */
    url: string;
    [k: string]: unknown;
}
/** This interface was referenced by `UploadRequest`'s JSON-Schema via the `create.schema` link. */
export interface UploadRequestCreateSchema {
    data: {
        type: UploadRequestType;
        /** JSON API attributes */
        attributes: {
            /** The original file name */
            filename?: string;
            [k: string]: unknown;
        };
    };
}
/**
 * This interface was referenced by `UploadRequest`'s JSON-Schema via the
 * `create.targetSchema` link.
 */
export interface UploadRequestCreateTargetSchema {
    data: UploadRequest;
}
/**
 * You can create scheduled publication to publish records in the future
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "scheduled_publication".
 */
export interface ScheduledPublication {
    type: ScheduledPublicationType;
    id: ScheduledPublicationIdentity;
    attributes: ScheduledPublicationAttributes;
    relationships: ScheduledPublicationRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `ScheduledPublication`'s JSON-Schema via the
 * `definition` "attributes".
 */
export interface ScheduledPublicationAttributes {
    /** The future date for the publication */
    publication_scheduled_at: string;
}
/**
 * JSON API links
 *
 * This interface was referenced by `ScheduledPublication`'s JSON-Schema via the
 * `definition` "relationships".
 */
export interface ScheduledPublicationRelationships {
    /** Item */
    item: {
        data: ItemData;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `ScheduledPublication`'s JSON-Schema via the
 * `definition` "data".
 */
export interface ScheduledPublicationData {
    type: ScheduledPublicationType;
    id: ScheduledPublicationIdentity;
}
/**
 * This interface was referenced by `ScheduledPublication`'s JSON-Schema via the
 * `create.schema` link.
 */
export interface ScheduledPublicationCreateSchema {
    data: {
        type: ScheduledPublicationType;
        attributes: ScheduledPublicationAttributes;
    };
}
/**
 * This interface was referenced by `ScheduledPublication`'s JSON-Schema via the
 * `create.targetSchema` link.
 */
export interface ScheduledPublicationCreateTargetSchema {
    data: ScheduledPublication;
    included: Item[];
}
/**
 * This interface was referenced by `ScheduledPublication`'s JSON-Schema via the
 * `destroy.targetSchema` link.
 */
export interface ScheduledPublicationDestroyTargetSchema {
    data: Item;
}
/**
 * You can create a scheduled unpublishing to unpublish records in the future
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "scheduled_unpublishing".
 */
export interface ScheduledUnpublishing {
    type: ScheduledUnpublishingType;
    id: ScheduledUnpublishingIdentity;
    attributes: ScheduledUnpublishingAttributes;
    relationships: ScheduledUnpublishingRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
 * `definition` "attributes".
 */
export interface ScheduledUnpublishingAttributes {
    /** The future date for the unpublishing */
    unpublishing_scheduled_at: string;
}
/**
 * JSON API links
 *
 * This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
 * `definition` "relationships".
 */
export interface ScheduledUnpublishingRelationships {
    /** Item */
    item: {
        data: ItemData;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
 * `definition` "data".
 */
export interface ScheduledUnpublishingData {
    type: ScheduledUnpublishingType;
    id: ScheduledUnpublishingIdentity;
}
/**
 * This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
 * `create.schema` link.
 */
export interface ScheduledUnpublishingCreateSchema {
    data: {
        type: ScheduledUnpublishingType;
        attributes: ScheduledUnpublishingAttributes;
    };
}
/**
 * This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
 * `create.targetSchema` link.
 */
export interface ScheduledUnpublishingCreateTargetSchema {
    data: ScheduledUnpublishing;
    included: Item[];
}
/**
 * This interface was referenced by `ScheduledUnpublishing`'s JSON-Schema via the
 * `destroy.targetSchema` link.
 */
export interface ScheduledUnpublishingDestroyTargetSchema {
    data: Item;
}
/**
 * DatoCMS Site Search is a way to deliver tailored search results to your site visitors.
 * This is the endpoint you can use to query for results.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "search_result".
 */
export interface SearchResult {
    type: SearchResultType;
    id: SearchResultIdentity;
    attributes: SearchResultAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `SearchResult`'s JSON-Schema via the `definition` "attributes".
 */
export interface SearchResultAttributes {
    /** Page title */
    title: string;
    /** First lines of body */
    body_excerpt: string;
    /** URL */
    url: string;
    /** Score */
    score: number;
    highlight: {
        title?: string[] | null;
        body?: string[] | null;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `SearchResult`'s JSON-Schema via the `definition` "data".
 */
export interface SearchResultData {
    type: SearchResultType;
    id: SearchResultIdentity;
}
/**
 * This interface was referenced by `SearchResult`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface SearchResultInstancesTargetSchema {
    data: SearchResult[];
    meta?: {
        total_count: number;
    };
}
/**
 * [Environments](https://www.datocms.com/docs/general-concepts/primary-and-sandbox-environments)
 * make it easier for your development team to **manage and maintain content structure
 * once your content has been published**. You can think of environments like code
 * branches: great for testing, development and pre-production environments.
 *
 * By default, every project has one environment, called **primary environment**, which
 * is meant to be used for the regular editorial workflow. Additionally, multiple
 * **sandbox environments** can be created by developers to safely test/experiment new
 * changes in the content.
 *
 * Sandbox environments start out as **exact copies of one of the existing environments**
 * (ie. the primary one). The process of creating a new sandbox starting off from an
 * existing environment is called fork.
 *
 * Each environment is identified by a name (ie. `master`) and stores the following information:
 *
 * - Models
 * - Records
 * - Uploads
 * - Plugins
 * - Locales and timezone settings
 * - UI Theme (colors and logo)
 * - Global SEO settings
 * - The content navigation bar
 *
 * When making changes to any of the aforementioned entities in any environment,
 * including the primary environment, **the data in all other environments isn’t
 * affected** and stays the same.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "environment".
 */
export interface Environment {
    type: EnvironmentType;
    id: EnvironmentIdentity;
    meta: EnvironmentMeta;
}
/**
 * Meta attributes
 *
 * This interface was referenced by `Environment`'s JSON-Schema via the `definition` "meta".
 */
export interface EnvironmentMeta {
    /** Status of the environment */
    status: 'creating' | 'ready' | 'destroying';
    /** Date of creation */
    created_at: string;
    /** Last data change */
    last_data_change_at: string;
    /** Is this environment the primary for the project? */
    primary: boolean;
}
/**
 * JSON API data
 *
 * This interface was referenced by `Environment`'s JSON-Schema via the `definition` "data".
 */
export interface EnvironmentData {
    type: EnvironmentType;
    id: EnvironmentIdentity;
}
/** This interface was referenced by `Environment`'s JSON-Schema via the `fork.schema` link. */
export interface EnvironmentForkSchema {
    data: {
        type: EnvironmentType;
        /** The ID of the forked environment */
        id: string;
    };
}
/** This interface was referenced by `Environment`'s JSON-Schema via the `fork.targetSchema` link. */
export interface EnvironmentForkTargetSchema {
    data: Job | Environment;
}
/** This interface was referenced by `Environment`'s JSON-Schema via the `fork.jobSchema` link. */
export interface EnvironmentForkJobSchema {
    data: Environment;
}
/**
 * This interface was referenced by `Environment`'s JSON-Schema via the
 * `promote.targetSchema` link.
 */
export interface EnvironmentPromoteTargetSchema {
    data: Environment;
}
/**
 * This interface was referenced by `Environment`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface EnvironmentInstancesTargetSchema {
    data: Environment[];
}
/** This interface was referenced by `Environment`'s JSON-Schema via the `self.targetSchema` link. */
export interface EnvironmentSelfTargetSchema {
    data: Environment;
}
/**
 * This interface was referenced by `Environment`'s JSON-Schema via the
 * `destroy.targetSchema` link.
 */
export interface EnvironmentDestroyTargetSchema {
    data: Job | Environment;
}
/** This interface was referenced by `Environment`'s JSON-Schema via the `destroy.jobSchema` link. */
export interface EnvironmentDestroyJobSchema {
    data: Environment;
}
/**
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "maintenance_mode".
 */
export interface MaintenanceMode {
    type: MaintenanceModeType;
    id: MaintenanceModeIdentity;
    attributes: MaintenanceModeAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `MaintenanceMode`'s JSON-Schema via the `definition`
 * "attributes".
 */
export interface MaintenanceModeAttributes {
    /** Whether maintenance mode is currently active or not */
    active: boolean;
}
/**
 * JSON API data
 *
 * This interface was referenced by `MaintenanceMode`'s JSON-Schema via the `definition` "data".
 */
export interface MaintenanceModeData {
    type: MaintenanceModeType;
    id: MaintenanceModeIdentity;
}
/**
 * This interface was referenced by `MaintenanceMode`'s JSON-Schema via the
 * `self.targetSchema` link.
 */
export interface MaintenanceModeSelfTargetSchema {
    data: MaintenanceMode;
}
/**
 * This interface was referenced by `MaintenanceMode`'s JSON-Schema via the
 * `activate.targetSchema` link.
 */
export interface MaintenanceModeActivateTargetSchema {
    data: MaintenanceMode;
}
/**
 * This interface was referenced by `MaintenanceMode`'s JSON-Schema via the
 * `deactivate.targetSchema` link.
 */
export interface MaintenanceModeDeactivateTargetSchema {
    data: MaintenanceMode;
}
/**
 * A webhook allows to make requests following certain Dato events. It is linked to a
 * Role, which describes what actions can be performed.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "webhook".
 */
export interface Webhook {
    type: WebhookType;
    id: WebhookIdentity;
    attributes: WebhookAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `Webhook`'s JSON-Schema via the `definition` "attributes".
 */
export interface WebhookAttributes {
    /** Unique name for the webhook */
    name: string;
    /** Whether the webhook is enabled and sending events or not */
    enabled: boolean;
    /** The URL to be called */
    url: string;
    /** A custom payload */
    custom_payload: string | null;
    /** HTTP Basic Authorization username */
    http_basic_user: string | null;
    /** HTTP Basic Authorization password */
    http_basic_password: string | null;
    /** Additional headers that will be sent */
    headers: {
        [k: string]: unknown;
    };
    /** All the events you will be notified for */
    events: unknown[];
    /** Specifies which API version to use when serializing entities in the webhook payload */
    payload_api_version: string;
    /** Whether the you want records present in the payload to show blocks expanded or not */
    nested_items_in_payload: boolean;
}
/**
 * JSON API data
 *
 * This interface was referenced by `Webhook`'s JSON-Schema via the `definition` "data".
 */
export interface WebhookData {
    type: WebhookType;
    id: WebhookIdentity;
}
/** This interface was referenced by `Webhook`'s JSON-Schema via the `create.schema` link. */
export interface WebhookCreateSchema {
    data: {
        type: WebhookType;
        attributes: {
            /** Unique name for the webhook */
            name: string;
            /** The URL to be called */
            url: string;
            /** A custom payload */
            custom_payload: string | null;
            /** Additional headers that will be sent */
            headers: {
                [k: string]: unknown;
            };
            /** All the events you will be notified for */
            events: unknown[];
            /** HTTP Basic Authorization username */
            http_basic_user: string | null;
            /** HTTP Basic Authorization password */
            http_basic_password: string | null;
            /** Whether the webhook is enabled and sending events or not */
            enabled?: boolean;
            /** Specifies which API version to use when serializing entities in the webhook payload */
            payload_api_version?: string;
            /** Whether the you want records present in the payload to show blocks expanded or not */
            nested_items_in_payload?: boolean;
        };
    };
}
/** This interface was referenced by `Webhook`'s JSON-Schema via the `create.targetSchema` link. */
export interface WebhookCreateTargetSchema {
    data: Webhook;
}
/** This interface was referenced by `Webhook`'s JSON-Schema via the `update.schema` link. */
export interface WebhookUpdateSchema {
    data: {
        type: WebhookType;
        id: WebhookIdentity;
        attributes: {
            /** Unique name for the webhook */
            name?: string;
            /** The URL to be called */
            url?: string;
            /** A custom payload */
            custom_payload?: string | null;
            /** Additional headers that will be sent */
            headers?: {
                [k: string]: unknown;
            };
            /** All the events you will be notified for */
            events?: unknown[];
            /** HTTP Basic Authorization username */
            http_basic_user?: string | null;
            /** HTTP Basic Authorization password */
            http_basic_password?: string | null;
            /** Whether the webhook is enabled and sending events or not */
            enabled?: boolean;
            /** Specifies which API version to use when serializing entities in the webhook payload */
            payload_api_version?: string;
            /** Whether the you want records present in the payload to show blocks expanded or not */
            nested_items_in_payload?: boolean;
        };
    };
}
/** This interface was referenced by `Webhook`'s JSON-Schema via the `update.targetSchema` link. */
export interface WebhookUpdateTargetSchema {
    data: Webhook;
}
/** This interface was referenced by `Webhook`'s JSON-Schema via the `instances.targetSchema` link. */
export interface WebhookInstancesTargetSchema {
    data: Webhook[];
}
/** This interface was referenced by `Webhook`'s JSON-Schema via the `self.targetSchema` link. */
export interface WebhookSelfTargetSchema {
    data: Webhook;
}
/** This interface was referenced by `Webhook`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface WebhookDestroyTargetSchema {
    data: Webhook;
}
/**
 * Represents a log entry in the webhooks activity list.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "webhook_call".
 */
export interface WebhookCall {
    type: WebhookCallType;
    id: WebhookCallIdentity;
    attributes: WebhookCallAttributes;
    relationships: WebhookCallRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `WebhookCall`'s JSON-Schema via the `definition` "attributes".
 */
export interface WebhookCallAttributes {
    /** The subject of webhook triggering */
    entity_type: 'item' | 'item_type' | 'upload';
    /** The event that triggers the webhook call */
    event_type: 'create' | 'update' | 'delete' | 'publish' | 'unpublish';
    /** The moment the call occurred */
    created_at: string;
    /** The url that the webhook called */
    request_url: string;
    /** The request's headers */
    request_headers: {
        [k: string]: unknown;
    };
    /** The body of the request */
    request_payload: string;
    /** The status of the response */
    response_status: number | null;
    /** The response's headers */
    response_headers: {
        [k: string]: unknown;
    };
    /** The body of the response */
    response_payload: string | null;
}
/**
 * JSON API links
 *
 * This interface was referenced by `WebhookCall`'s JSON-Schema via the `definition`
 * "relationships".
 */
export interface WebhookCallRelationships {
    /** The webhook which has been called */
    webhook: {
        data: WebhookData;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `WebhookCall`'s JSON-Schema via the `definition` "data".
 */
export interface WebhookCallData {
    type: WebhookCallType;
    id: WebhookCallIdentity;
}
/**
 * This interface was referenced by `WebhookCall`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface WebhookCallInstancesTargetSchema {
    data: WebhookCall[];
}
/**
 * Configuration for different build triggers. You can have different staging and
 * production environments in order to test your site before final deploy
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "build_trigger".
 */
export interface BuildTrigger {
    type: BuildTriggerType;
    id: BuildTriggerIdentity;
    attributes: BuildTriggerAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `BuildTrigger`'s JSON-Schema via the `definition` "attributes".
 */
export interface BuildTriggerAttributes {
    /** Name of the environment */
    name: string;
    /** The deploy adapter */
    adapter: string;
    /** Additional configuration for deploy */
    adapter_settings: {
        [k: string]: unknown;
    };
    /** Timestamp of the last deploy */
    last_build_completed_at: string | null;
    /** Status of last deploy */
    build_status: string;
    /** Unique token of the webhook */
    webhook_token?: string;
    /** Notification webhook URL */
    webhook_url: string;
    /** Status of site scraper */
    indexing_status: string;
    /** Public url of the site */
    frontend_url: string | null;
    /** Deploy on scheduled publication */
    autotrigger_on_scheduled_publications: boolean;
    /** Enable scraper on the site */
    indexing_enabled: boolean;
}
/**
 * This interface was referenced by `BuildTrigger`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface BuildTriggerInstancesTargetSchema {
    data: BuildTrigger[];
}
/** This interface was referenced by `BuildTrigger`'s JSON-Schema via the `self.targetSchema` link. */
export interface BuildTriggerSelfTargetSchema {
    data: BuildTrigger;
}
/** This interface was referenced by `BuildTrigger`'s JSON-Schema via the `create.schema` link. */
export interface BuildTriggerCreateSchema {
    data: {
        type: BuildTriggerType;
        attributes: {
            /** Name of the environment */
            name: string;
            /** Unique token of the webhook */
            webhook_token?: string;
            /** The deploy adapter */
            adapter: string;
            /** Enable scraper on the site */
            indexing_enabled: boolean;
            /** Public url of the site */
            frontend_url: string | null;
            /** Deploy on scheduled publication */
            autotrigger_on_scheduled_publications: boolean;
            /** Additional configuration for deploy */
            adapter_settings: {
                [k: string]: unknown;
            };
        };
    };
}
/**
 * This interface was referenced by `BuildTrigger`'s JSON-Schema via the
 * `create.targetSchema` link.
 */
export interface BuildTriggerCreateTargetSchema {
    data: BuildTrigger;
}
/** This interface was referenced by `BuildTrigger`'s JSON-Schema via the `update.schema` link. */
export interface BuildTriggerUpdateSchema {
    data: {
        type: BuildTriggerType;
        id: BuildTriggerIdentity;
        attributes: {
            /** Name of the environment */
            name?: string;
            /** The deploy adapter */
            adapter?: string;
            /** Enable scraper on the site */
            indexing_enabled?: boolean;
            /** Public url of the site */
            frontend_url?: string | null;
            /** Deploy on scheduled publication */
            autotrigger_on_scheduled_publications?: boolean;
            /** Additional configuration for deploy */
            adapter_settings?: {
                [k: string]: unknown;
            };
        };
    };
}
/**
 * This interface was referenced by `BuildTrigger`'s JSON-Schema via the
 * `update.targetSchema` link.
 */
export interface BuildTriggerUpdateTargetSchema {
    data: BuildTrigger;
}
/**
 * This interface was referenced by `BuildTrigger`'s JSON-Schema via the
 * `destroy.targetSchema` link.
 */
export interface BuildTriggerDestroyTargetSchema {
    data: BuildTrigger;
}
/**
 * In DatoCMS you can create filters to help you (and other editors) quickly search for records
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "item_type_filter".
 */
export interface ItemTypeFilter {
    type: ItemTypeFilterType;
    id: ItemTypeFilterIdentity;
    attributes: ItemTypeFilterAttributes;
    relationships: ItemTypeFilterRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the `definition`
 * "attributes".
 */
export interface ItemTypeFilterAttributes {
    /** The name of the filter */
    name: string;
    /** The actual filter */
    filter: {
        [k: string]: unknown;
    };
    /** Whether it's a shared filter or not */
    shared: boolean;
}
/**
 * JSON API links
 *
 * This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the `definition`
 * "relationships".
 */
export interface ItemTypeFilterRelationships {
    /** Model associated with the filter */
    item_type: {
        data: ItemTypeData;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the `definition` "data".
 */
export interface ItemTypeFilterData {
    type: ItemTypeFilterType;
    id: ItemTypeFilterIdentity;
}
/** This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the `create.schema` link. */
export interface ItemTypeFilterCreateSchema {
    data: {
        type: ItemTypeFilterType;
        attributes: {
            /** The name of the filter */
            name: string;
            /** The actual filter */
            filter: {
                [k: string]: unknown;
            };
            /** Whether it's a shared filter or not */
            shared: boolean;
        };
        relationships: ItemTypeFilterRelationships;
    };
}
/**
 * This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the
 * `create.targetSchema` link.
 */
export interface ItemTypeFilterCreateTargetSchema {
    data: ItemTypeFilter;
}
/** This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the `update.schema` link. */
export interface ItemTypeFilterUpdateSchema {
    data: {
        type: ItemTypeFilterType;
        id: ItemTypeFilterIdentity;
        /** JSON API attributes */
        attributes: {
            /** The name of the filter */
            name: string;
            /** Whether it's a shared filter or not */
            shared?: boolean;
            /** The actual filter */
            filter: {
                [k: string]: unknown;
            };
        };
    };
}
/**
 * This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the
 * `update.targetSchema` link.
 */
export interface ItemTypeFilterUpdateTargetSchema {
    data: ItemTypeFilter;
}
/**
 * This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface ItemTypeFilterInstancesTargetSchema {
    data: ItemTypeFilter[];
}
/**
 * This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the
 * `self.targetSchema` link.
 */
export interface ItemTypeFilterSelfTargetSchema {
    data: ItemTypeFilter;
}
/**
 * This interface was referenced by `ItemTypeFilter`'s JSON-Schema via the
 * `destroy.targetSchema` link.
 */
export interface ItemTypeFilterDestroyTargetSchema {
    data: ItemTypeFilter;
}
/**
 * In DatoCMS you can create filters to help you (and other editors) quickly search for uploads
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "upload_filter".
 */
export interface UploadFilter {
    type: UploadFilterType;
    id: UploadFilterIdentity;
    attributes: UploadFilterAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `UploadFilter`'s JSON-Schema via the `definition` "attributes".
 */
export interface UploadFilterAttributes {
    /** The name of the filter */
    name: string;
    /** The actual filter */
    filter: {
        [k: string]: unknown;
    };
    /** Whether it's a shared filter or not */
    shared: boolean;
}
/**
 * JSON API data
 *
 * This interface was referenced by `UploadFilter`'s JSON-Schema via the `definition` "data".
 */
export interface UploadFilterData {
    type: UploadFilterType;
    id: UploadFilterIdentity;
}
/** This interface was referenced by `UploadFilter`'s JSON-Schema via the `create.schema` link. */
export interface UploadFilterCreateSchema {
    data: {
        type: UploadFilterType;
        /** JSON API attributes */
        attributes: {
            /** The name of the filter */
            name: string;
            /** The actual filter */
            filter: {
                [k: string]: unknown;
            };
            /** Whether it's a shared filter or not */
            shared: boolean;
        };
    };
}
/**
 * This interface was referenced by `UploadFilter`'s JSON-Schema via the
 * `create.targetSchema` link.
 */
export interface UploadFilterCreateTargetSchema {
    data: UploadFilter;
}
/** This interface was referenced by `UploadFilter`'s JSON-Schema via the `update.schema` link. */
export interface UploadFilterUpdateSchema {
    data: {
        type: UploadFilterType;
        id: UploadFilterIdentity;
        /** JSON API attributes */
        attributes: {
            /** The name of the filter */
            name: string;
            /** Whether it's a shared filter or not */
            shared?: boolean;
            /** The actual filter */
            filter: {
                [k: string]: unknown;
            };
        };
    };
}
/**
 * This interface was referenced by `UploadFilter`'s JSON-Schema via the
 * `update.targetSchema` link.
 */
export interface UploadFilterUpdateTargetSchema {
    data: UploadFilter;
}
/**
 * This interface was referenced by `UploadFilter`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface UploadFilterInstancesTargetSchema {
    data: UploadFilter[];
}
/** This interface was referenced by `UploadFilter`'s JSON-Schema via the `self.targetSchema` link. */
export interface UploadFilterSelfTargetSchema {
    data: UploadFilter;
}
/**
 * This interface was referenced by `UploadFilter`'s JSON-Schema via the
 * `destroy.targetSchema` link.
 */
export interface UploadFilterDestroyTargetSchema {
    data: UploadFilter;
}
/**
 * A DatoCMS administrative area can be accessed by multiple people. Every invitation is
 * linked to a specific Role, which describes what actions it will be able to perform
 * once the user will register.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "site_invitation".
 */
export interface SiteInvitation {
    type: SiteInvitationType;
    id: SiteInvitationIdentity;
    attributes: SiteInvitationAttributes;
    relationships: SiteInvitationRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `SiteInvitation`'s JSON-Schema via the `definition`
 * "attributes".
 */
export interface SiteInvitationAttributes {
    /** Email */
    email: string;
}
/**
 * JSON API links
 *
 * This interface was referenced by `SiteInvitation`'s JSON-Schema via the `definition`
 * "relationships".
 */
export interface SiteInvitationRelationships {
    /** Role */
    role: {
        data: RoleData;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `SiteInvitation`'s JSON-Schema via the `definition` "data".
 */
export interface SiteInvitationData {
    type: SiteInvitationType;
    id: SiteInvitationIdentity;
}
/** This interface was referenced by `SiteInvitation`'s JSON-Schema via the `create.schema` link. */
export interface SiteInvitationCreateSchema {
    data: {
        type: SiteInvitationType;
        attributes: {
            /** Email */
            email: string;
        };
        relationships: {
            /** Role */
            role: {
                data: RoleData;
            };
        };
    };
}
/**
 * This interface was referenced by `SiteInvitation`'s JSON-Schema via the
 * `create.targetSchema` link.
 */
export interface SiteInvitationCreateTargetSchema {
    data: SiteInvitation;
}
/** This interface was referenced by `SiteInvitation`'s JSON-Schema via the `update.schema` link. */
export interface SiteInvitationUpdateSchema {
    data: {
        type: SiteInvitationType;
        id: SiteInvitationIdentity;
        relationships: {
            /** Role */
            role?: {
                data: RoleData;
            };
        };
    };
}
/**
 * This interface was referenced by `SiteInvitation`'s JSON-Schema via the
 * `update.targetSchema` link.
 */
export interface SiteInvitationUpdateTargetSchema {
    data: SiteInvitation;
}
/**
 * This interface was referenced by `SiteInvitation`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface SiteInvitationInstancesTargetSchema {
    data: SiteInvitation[];
}
/**
 * This interface was referenced by `SiteInvitation`'s JSON-Schema via the
 * `self.targetSchema` link.
 */
export interface SiteInvitationSelfTargetSchema {
    data: SiteInvitation;
}
/**
 * This interface was referenced by `SiteInvitation`'s JSON-Schema via the
 * `destroy.targetSchema` link.
 */
export interface SiteInvitationDestroyTargetSchema {
    data: SiteInvitation;
}
/**
 * Session track users movements in the administrative area, and allows locking a record
 * when editing it.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "editing_session".
 */
export interface EditingSession {
    type: EditingSessionType;
    id: EditingSessionIdentity;
    attributes: EditingSessionAttributes;
    relationships: EditingSessionRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `EditingSession`'s JSON-Schema via the `definition`
 * "attributes".
 */
export interface EditingSessionAttributes {
    /** User entered at */
    last_activity_at: string | null;
    /** User locked record at */
    locked_at: string | null;
}
/**
 * JSON API links
 *
 * This interface was referenced by `EditingSession`'s JSON-Schema via the `definition`
 * "relationships".
 */
export interface EditingSessionRelationships {
    /** The active item in the session */
    active_item: {
        data: ItemData;
    };
    /** The item type of the active item in the session */
    active_item_type: {
        data: ItemTypeData;
    };
    /** The entity (account/editor/access token) who has accessed the record */
    editor: {
        data: AccountData | AccessTokenData | UserData;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `EditingSession`'s JSON-Schema via the `definition` "data".
 */
export interface EditingSessionData {
    type: EditingSessionType;
    id?: EditingSessionIdentity;
}
/**
 * This interface was referenced by `EditingSession`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface EditingSessionInstancesTargetSchema {
    data: EditingSession[];
}
/** This interface was referenced by `EditingSession`'s JSON-Schema via the `update.schema` link. */
export interface EditingSessionUpdateSchema {
    data: {
        /** JSON API type */
        type: 'editing_session_enter_item';
        /** JSON API relationships */
        relationships: {
            /** The active item in the session */
            item: {
                data: ItemData;
            };
        };
    } | {
        /** JSON API type */
        type: 'editing_session_take_over_item';
        /** JSON API relationships */
        relationships: {
            /** The active item in the session */
            item: {
                data: ItemData;
            };
        };
    } | {
        /** JSON API type */
        type: 'editing_session_lock_item';
        /** JSON API relationships */
        relationships: {
            /** The active item in the session */
            item: {
                data: ItemData;
            };
        };
    } | {
        /** JSON API type */
        type: 'editing_session_unlock_item';
    };
}
/**
 * This interface was referenced by `EditingSession`'s JSON-Schema via the
 * `update.targetSchema` link.
 */
export interface EditingSessionUpdateTargetSchema {
    data: EditingSession;
}
/**
 * This interface was referenced by `EditingSession`'s JSON-Schema via the
 * `destroy.targetSchema` link.
 */
export interface EditingSessionDestroyTargetSchema {
    data: EditingSession;
}
/**
 * A Single Sign-On group exists when a DatoCMS project is connected to an Identity
 * Provider. These groups can be used to link DatoCMS roles to the Identity Provider's groups.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "sso_group".
 */
export interface SsoGroup {
    type: SsoGroupType;
    id: SsoGroupIdentity;
    attributes: SsoGroupAttributes;
    relationships: SsoGroupRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `SsoGroup`'s JSON-Schema via the `definition` "attributes".
 */
export interface SsoGroupAttributes {
    /** Name of the group */
    name: string;
    /**
     * When an user belongs to multiple groups, the role associated to the group with the
     * highest priority will be used
     */
    priority: number;
}
/**
 * JSON API links
 *
 * This interface was referenced by `SsoGroup`'s JSON-Schema via the `definition` "relationships".
 */
export interface SsoGroupRelationships {
    /** Sso Group's role */
    role: {
        data: RoleData;
    };
    /** Group members */
    users: {
        data: SsoUserData[];
    };
}
/** This interface was referenced by `SsoGroup`'s JSON-Schema via the `instances.targetSchema` link. */
export interface SsoGroupInstancesTargetSchema {
    data: SsoGroup[];
}
/**
 * This interface was referenced by `SsoGroup`'s JSON-Schema via the
 * `copy_roles.targetSchema` link.
 */
export interface SsoGroupCopyRolesTargetSchema {
    data: SsoGroup;
}
/** This interface was referenced by `SsoGroup`'s JSON-Schema via the `update.schema` link. */
export interface SsoGroupUpdateSchema {
    data: {
        type: SsoGroupType;
        id: SsoGroupIdentity;
        attributes: {
            /**
             * When an user belongs to multiple groups, the role associated to the group with
             * the highest priority will be used
             */
            priority: number;
        };
        relationships: {
            /** Sso Group's role */
            role: {
                data: RoleData;
            };
        };
    };
}
/** This interface was referenced by `SsoGroup`'s JSON-Schema via the `update.targetSchema` link. */
export interface SsoGroupUpdateTargetSchema {
    data: SsoGroup;
}
/** This interface was referenced by `SsoGroup`'s JSON-Schema via the `destroy.targetSchema` link. */
export interface SsoGroupDestroyTargetSchema {
    data: SsoGroup;
}
/**
 * Represents the Single Sign-on settings of the current DatoCMS project
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "sso_settings".
 */
export interface SsoSettings {
    type: SsoSettingsType;
    id: SsoSettingsIdentity;
    attributes: SsoSettingsAttributes;
    relationships: SsoSettingsRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `SsoSettings`'s JSON-Schema via the `definition` "attributes".
 */
export interface SsoSettingsAttributes {
    /** URL of Identity Provider SAML Metadata endpoint */
    idp_saml_metadata_url: null | string;
    /** DatoCMS SCIM base URL */
    scim_base_url: string;
    /** DatoCMS SAML ACS URL */
    saml_acs_url: string;
    /** DatoCMS SAML Metadata URL */
    sp_saml_metadata_url: string;
    /** DatoCMS SAML Base URL */
    sp_saml_base_url: string;
    /** DatoCMS SAML Token */
    saml_token: string;
    /** DatoCMS SCIM API Token */
    scim_api_token?: string;
}
/**
 * JSON API links
 *
 * This interface was referenced by `SsoSettings`'s JSON-Schema via the `definition`
 * "relationships".
 */
export interface SsoSettingsRelationships {
    /** The default role assigned to SSO users that do not belong to any SSO group */
    default_role: {
        data: null | RoleData;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `SsoSettings`'s JSON-Schema via the `definition` "data".
 */
export interface SsoSettingsData {
    type: SsoSettingsType;
    id: SsoSettingsIdentity;
}
/** This interface was referenced by `SsoSettings`'s JSON-Schema via the `self.targetSchema` link. */
export interface SsoSettingsSelfTargetSchema {
    data: SsoSettings;
}
/**
 * This interface was referenced by `SsoSettings`'s JSON-Schema via the
 * `generate_token.targetSchema` link.
 */
export interface SsoSettingsGenerateTokenTargetSchema {
    data: {
        id: SsoSettingsIdentity;
        /** JSON API type field */
        type: 'sso_token';
        attributes: {
            /** DatoCMS SCIM API Token */
            scim_api_token: string;
        };
        [k: string]: unknown;
    };
}
/** This interface was referenced by `SsoSettings`'s JSON-Schema via the `update.schema` link. */
export interface SsoSettingsUpdateSchema {
    data: {
        type: SsoSettingsType;
        id?: SsoSettingsIdentity;
        attributes?: {
            /** URL of Identity Provider SAML Metadata endpoint */
            idp_saml_metadata_url: null | string;
        };
        relationships: {
            /** The default role assigned to SSO users that do not belong to any SSO group */
            default_role: {
                data: RoleData;
            };
        };
    };
}
/** This interface was referenced by `SsoSettings`'s JSON-Schema via the `update.targetSchema` link. */
export interface SsoSettingsUpdateTargetSchema {
    data: SsoSettings;
}
/**
 * Represents the white-label settings of the current DatoCMS project
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "white_label_settings".
 */
export interface WhiteLabelSettings {
    type: WhiteLabelSettingsType;
    id: WhiteLabelSettingsIdentity;
    attributes: WhiteLabelSettingsAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `WhiteLabelSettings`'s JSON-Schema via the
 * `definition` "attributes".
 */
export interface WhiteLabelSettingsAttributes {
    /** URL of custom I18n messages. The :locale placeholder represents the current DatoCMS UI locale. */
    custom_i18n_messages_template_url: null | string;
}
/**
 * JSON API data
 *
 * This interface was referenced by `WhiteLabelSettings`'s JSON-Schema via the `definition` "data".
 */
export interface WhiteLabelSettingsData {
    type: WhiteLabelSettingsType;
    id: WhiteLabelSettingsIdentity;
}
/**
 * This interface was referenced by `WhiteLabelSettings`'s JSON-Schema via the
 * `self.targetSchema` link.
 */
export interface WhiteLabelSettingsSelfTargetSchema {
    data: WhiteLabelSettings;
}
/**
 * This interface was referenced by `WhiteLabelSettings`'s JSON-Schema via the
 * `update.schema` link.
 */
export interface WhiteLabelSettingsUpdateSchema {
    data: {
        type: WhiteLabelSettingsType;
        id?: WhiteLabelSettingsIdentity;
        attributes?: {
            /**
             * URL of custom I18n messages. The :locale placeholder represents the current
             * DatoCMS UI locale.
             */
            custom_i18n_messages_template_url: null | string;
        };
    };
}
/**
 * This interface was referenced by `WhiteLabelSettings`'s JSON-Schema via the
 * `update.targetSchema` link.
 */
export interface WhiteLabelSettingsUpdateTargetSchema {
    data: WhiteLabelSettings;
}
/**
 * Info that can be accessed by unauthorized users
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "public_info".
 */
export interface PublicInfo {
    type: PublicInfoType;
    id: PublicInfoIdentity;
    attributes: PublicInfoAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `PublicInfo`'s JSON-Schema via the `definition` "attributes".
 */
export interface PublicInfoAttributes {
    /** Site name */
    name: string;
    /** Specifies the Single Sign-on URL to reach */
    sso_saml_init_url: null | string;
    /** Specifies the logo url if present */
    logo_url: null | string;
    /** Specifies whether the project is in white-label mode */
    white_label: boolean;
    /** Template URL to download specific I18n messages (for white-label projects only) */
    custom_i18n_messages_template_url: null | string;
    /** Specifies the color-scheme for the project */
    theme: {
        primary_color?: {
            red: number;
            green: number;
            blue: number;
            alpha: number;
            [k: string]: unknown;
        };
        light_color?: {
            red: number;
            green: number;
            blue: number;
            alpha: number;
            [k: string]: unknown;
        };
        accent_color?: {
            red: number;
            green: number;
            blue: number;
            alpha: number;
            [k: string]: unknown;
        };
        dark_color?: {
            red: number;
            green: number;
            blue: number;
            alpha: number;
            [k: string]: unknown;
        };
        [k: string]: unknown;
    };
    /** Additional information (only returned on authenticated requests) */
    extras: null | {
        blocks_depth: number;
        blocks_per_item: number;
        [k: string]: unknown;
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `PublicInfo`'s JSON-Schema via the `definition` "data".
 */
export interface PublicInfoData {
    type: PublicInfoType;
    id: PublicInfoIdentity;
}
/** This interface was referenced by `PublicInfo`'s JSON-Schema via the `self.targetSchema` link. */
export interface PublicInfoSelfTargetSchema {
    data: PublicInfo;
}
/**
 * DatoCMS resources usage organized by day
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "daily_usage".
 */
export interface DailyUsage {
    type: DailyUsageType;
    id: DailyUsageIdentity;
    attributes: DailyUsageAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `DailyUsage`'s JSON-Schema via the `definition` "attributes".
 */
export interface DailyUsageAttributes {
    /** The date the data are referring to */
    date: string;
    /** Number of API calls to content delivery API */
    cda_api_calls: number;
    /** Number of API calls to content management API */
    cma_api_calls: number;
    /** Content delivery API traffic */
    cda_traffic_bytes: number;
    /** Uploads requests traffic */
    assets_traffic_bytes: number;
    /** Video streaming seconds */
    mux_delivered_seconds: number;
}
/**
 * JSON API data
 *
 * This interface was referenced by `DailyUsage`'s JSON-Schema via the `definition` "data".
 */
export interface DailyUsageData {
    type: DailyUsageType;
    id: DailyUsageIdentity;
}
/**
 * This interface was referenced by `DailyUsage`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface DailyUsageInstancesTargetSchema {
    data: DailyUsage;
}
/**
 * You can use counters to analyze your project's data consumption over a period of time.
 * Counters are especially useful if your project is exceeding its API calls/traffic
 * quota limits, to better understand where and how requests are originating. Counters
 * are updated every minute, so you can debug in real-time the results of your changes.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "usage_counter".
 */
export interface UsageCounter {
    type: UsageCounterType;
    id: UsageCounterIdentity;
    attributes: UsageCounterAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `UsageCounter`'s JSON-Schema via the `definition` "attributes".
 */
export interface UsageCounterAttributes {
    result: {
        /** Occurrence */
        value: string;
        /** Counter for the specified occurrence */
        counter: number;
    }[];
}
/**
 * JSON API data
 *
 * This interface was referenced by `UsageCounter`'s JSON-Schema via the `definition` "data".
 */
export interface UsageCounterData {
    type: UsageCounterType;
    id: UsageCounterIdentity;
}
/** This interface was referenced by `UsageCounter`'s JSON-Schema via the `self.targetSchema` link. */
export interface UsageCounterSelfTargetSchema {
    data: UsageCounter;
}
/**
 * All the project's upload tags
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "upload_tag".
 */
export interface UploadTag {
    type: UploadTagType;
    id: UploadTagIdentity;
    attributes: UploadTagAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `UploadTag`'s JSON-Schema via the `definition` "attributes".
 */
export interface UploadTagAttributes {
    /** The tag name */
    name: string;
}
/**
 * JSON API data
 *
 * This interface was referenced by `UploadTag`'s JSON-Schema via the `definition` "data".
 */
export interface UploadTagData {
    type: UploadTagType;
    id: UploadTagIdentity;
}
/**
 * This interface was referenced by `UploadTag`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface UploadTagInstancesTargetSchema {
    data: UploadTag[];
}
/** This interface was referenced by `UploadTag`'s JSON-Schema via the `create.schema` link. */
export interface UploadTagCreateSchema {
    data: {
        type: UploadTagType;
        attributes: {
            /** The tag name */
            name: string;
        };
    };
}
/** This interface was referenced by `UploadTag`'s JSON-Schema via the `create.targetSchema` link. */
export interface UploadTagCreateTargetSchema {
    data: UploadTag;
}
/**
 * All the site's upload automatically generated tags
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition`
 * "upload_smart_tag".
 */
export interface UploadSmartTag {
    type: UploadSmartTagType;
    id: UploadSmartTagIdentity;
    attributes: UploadSmartTagAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `UploadSmartTag`'s JSON-Schema via the `definition`
 * "attributes".
 */
export interface UploadSmartTagAttributes {
    /** The tag name */
    name: string;
}
/**
 * JSON API data
 *
 * This interface was referenced by `UploadSmartTag`'s JSON-Schema via the `definition` "data".
 */
export interface UploadSmartTagData {
    type: UploadSmartTagType;
    id: UploadSmartTagIdentity;
}
/**
 * This interface was referenced by `UploadSmartTag`'s JSON-Schema via the
 * `instances.targetSchema` link.
 */
export interface UploadSmartTagInstancesTargetSchema {
    data: UploadSmartTag[];
}
/**
 * A site represents a specific DatoCMS administrative area
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "site".
 */
export interface Site {
    type: SiteType;
    id: SiteIdentity;
    attributes: SiteAttributes;
    relationships: SiteRelationships;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `Site`'s JSON-Schema via the `definition` "attributes".
 */
export interface SiteAttributes {
    /** Site name */
    name: string;
    /** Administrative area custom domain */
    domain: string | null;
    /** Google API Key to be used by the LatLon widget */
    google_maps_api_token: string | null;
    /** Imgix host */
    imgix_host: string | null;
    /** DatoCMS internal domain for the administrative area */
    internal_domain: string | null;
    /** Available locales */
    locales: [string, ...string[]];
    /** Site default timezone */
    timezone: string;
    /** Whether the website needs to be indexed by search engines or not */
    no_index: boolean;
    /** The upload id for the favicon */
    favicon: string | null;
    /** Specifies the last time when a change of data occurred */
    last_data_change_at: null | string;
    /** Frontend website url */
    frontend_url: string | null;
    /** Specifies whether all users of this site need to authenticate using two-factor authentication */
    require_2fa: boolean;
    /** Specifies whether you want IPs to be tracked in the Project usages section */
    ip_tracking_enabled: boolean;
    /** Specifies the theme to use in administrative area */
    theme: {
        primary_color: {
            red: number;
            green: number;
            blue: number;
            alpha: number;
            [k: string]: unknown;
        };
        light_color: {
            red: number;
            green: number;
            blue: number;
            alpha: number;
            [k: string]: unknown;
        };
        accent_color: {
            red: number;
            green: number;
            blue: number;
            alpha: number;
            [k: string]: unknown;
        };
        dark_color: {
            red: number;
            green: number;
            blue: number;
            alpha: number;
            [k: string]: unknown;
        };
        /** The site logo */
        logo: string | null;
        [k: string]: unknown;
    };
    /** Specifies default global settings */
    global_seo: {
        /** Site name, used in social sharing */
        site_name?: string;
        fallback_seo?: {
            title: string;
            description: string;
            /** The id of the image */
            image: null | string;
            /** Determines how a Twitter link preview is shown */
            twitter_card?: null | ('summary' | 'summary_large_image');
            [k: string]: unknown;
        };
        /** Title meta tag suffix */
        title_suffix?: null | string;
        /** URL of facebook page */
        facebook_page_url?: null | string;
        /** Twitter account associated to website */
        twitter_account?: null | string;
        [k: string]: unknown;
    } | null;
}
/**
 * JSON API links
 *
 * This interface was referenced by `Site`'s JSON-Schema via the `definition` "relationships".
 */
export interface SiteRelationships {
    account: {
        data: AccountData;
    };
    build_triggers?: {
        /** The list of build trigger */
        data: BuildTriggerData[];
    };
    menu_items: {
        /** The list of site menu items */
        data: MenuItemData[];
    };
    sso_users: {
        /** The list of site SSO users */
        data: SsoUserData[];
    };
    users: {
        /** The list of site users */
        data: UserData[];
    };
    item_types: {
        /** The list of site item types */
        data: ItemTypeData[];
    };
    sso_default_role?: {
        /** Specifies the default role for newly created identity providers users */
        data: RoleData[];
    };
    roles: {
        /** The list of site roles */
        data: RoleData[];
    };
}
/**
 * JSON API data
 *
 * This interface was referenced by `Site`'s JSON-Schema via the `definition` "data".
 */
export interface SiteData {
    type: SiteType;
    id: SiteIdentity;
}
/** This interface was referenced by `Site`'s JSON-Schema via the `self.targetSchema` link. */
export interface SiteSelfTargetSchema {
    data: Site;
    included?: (MenuItem | User | ModelBlock | Role | Field | Upload | SsoUser)[];
}
/** This interface was referenced by `Site`'s JSON-Schema via the `update.schema` link. */
export interface SiteUpdateSchema {
    data: {
        type: SiteType;
        id?: SiteIdentity;
        attributes: {
            /** Whether the website needs to be indexed by search engines or not */
            no_index?: boolean;
            /** The upload id for the favicon */
            favicon?: string | null;
            /** Specifies default global settings */
            global_seo?: {
                /** Site name, used in social sharing */
                site_name?: string;
                fallback_seo?: {
                    title: string;
                    description: string;
                    /** The id of the image */
                    image: null | string;
                    /** Determines how a Twitter link preview is shown */
                    twitter_card?: null | ('summary' | 'summary_large_image');
                    [k: string]: unknown;
                };
                /** Title meta tag suffix */
                title_suffix?: null | string;
                /** URL of facebook page */
                facebook_page_url?: null | string;
                /** Twitter account associated to website */
                twitter_account?: null | string;
                [k: string]: unknown;
            } | null;
            /** Site name */
            name?: string;
            /** Specifies the theme to use in administrative area */
            theme?: {
                primary_color: {
                    red: number;
                    green: number;
                    blue: number;
                    alpha: number;
                    [k: string]: unknown;
                };
                light_color: {
                    red: number;
                    green: number;
                    blue: number;
                    alpha: number;
                    [k: string]: unknown;
                };
                accent_color: {
                    red: number;
                    green: number;
                    blue: number;
                    alpha: number;
                    [k: string]: unknown;
                };
                dark_color: {
                    red: number;
                    green: number;
                    blue: number;
                    alpha: number;
                    [k: string]: unknown;
                };
                /** The site logo */
                logo: string | null;
                [k: string]: unknown;
            };
            /** Available locales */
            locales?: [string, ...string[]];
            /** Site default timezone */
            timezone?: string;
            /**
             * Specifies whether all users of this site need to authenticate using two-factor
             * authentication
             */
            require_2fa?: boolean;
            /** Specifies whether you want IPs to be tracked in the Project usages section */
            ip_tracking_enabled?: boolean;
        };
        relationships?: {
            sso_default_role?: {
                data: RoleData;
            };
        };
    };
}
/** This interface was referenced by `Site`'s JSON-Schema via the `update.targetSchema` link. */
export interface SiteUpdateTargetSchema {
    data: Job;
}
/** This interface was referenced by `Site`'s JSON-Schema via the `update.jobSchema` link. */
export interface SiteUpdateJobSchema {
    data: Site;
}
/**
 * Through workflows it is possible to set up a precise state machine able to bring a
 * draft content up to the final publication (and beyond), through a series of
 * intermediate, fully customizable approval steps.
 *
 * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the `definition` "workflow".
 */
export interface Workflow {
    type: WorkflowType;
    id: WorkflowIdentity;
    attributes: WorkflowAttributes;
}
/**
 * JSON API attributes
 *
 * This interface was referenced by `Workflow`'s JSON-Schema via the `definition` "attributes".
 */
export interface WorkflowAttributes {
    /** The name of the workflow */
    name: string;
    /** The stages of the workflow */
    stages: [
        {
            /** ID of the stage */
            id: string;
            /** Name of the stage */
            name: string;
            /** Description of the stage */
            description?: string | null;
            /** Whether this is the initial stage or not */
            initial?: boolean;
        },
        ...{
            /** ID of the stage */
            id: string;
            /** Name of the stage */
            name: string;
            /** Description of the stage */
            description?: string | null;
            /** Whether this is the initial stage or not */
            initial?: boolean;
        }[]
    ];
}
/** This interface was referenced by `Workflow`'s JSON-Schema via the `create.schema` link. */
export interface WorkflowCreateSchema {
    data: {
        type: WorkflowType;
        id: WorkflowIdentity;
        /** JSON API attributes */
        attributes: {
            /** The name of the workflow */
            name: string;
            /** The stages of the workflow */
            stages: [
                {
                    /** ID of the stage */
                    id: string;
                    /** Name of the stage */
                    name: string;
                    /** Description of the stage */
                    description?: string | null;
                    /** Whether this is the initial stage or not */
                    initial?: boolean;
                },
                ...{
                    /** ID of the stage */
                    id: string;
                    /** Name of the stage */
                    name: string;
                    /** Description of the stage */
                    description?: string | null;
                    /** Whether this is the initial stage or not */
                    initial?: boolean;
                }[]
            ];
        };
    };
}
/** This interface was referenced by `Workflow`'s JSON-Schema via the `create.targetSchema` link. */
export interface WorkflowCreateTargetSchema {
    data: Workflow;
}
/** This interface was referenced by `Workflow`'s JSON-Schema via the `update.schema` link. */
export interface WorkflowUpdateSchema {
    data: {
        type: WorkflowType;
        id: WorkflowIdentity;
        /** JSON API attributes */
        attributes?: {
            /** The name of the workflow */
            name?: string;
            /** The stages of the workflow */
            stages?: [
                {
                    /** ID of the stage */
                    id: string;
                    /** Name of the stage */
                    name: string;
                    /** Description of the stage */
                    description?: string | null;
                    /** Whether this is the initial stage or not */
                    initial?: boolean;
                },
                ...{
                    /** ID of the stage */
                    id: string;
                    /** Name of the stage */
                    name: string;
                    /** Description of the stage */
                    description?: string | null;
                    /** Whether this is the initial stage or not */
                    initial?: boolean;
                }[]
            ];
        };
    };
}
/** This interface was referenced by `Workflow`'s JSON-Schema via the `update.targetSchema` link. */
export interface WorkflowUpdateTargetSchema {
    data: Workflow;
}
/** This interface was referenced by `Workflow`'s JSON-Schema via the `instances.targetSchema` link. */
export interface WorkflowInstancesTargetSchema {
    data: Workflow[];
}
/** This interface was referenced by `Workflow`'s JSON-Schema via the `self.targetSchema` link. */
export interface WorkflowSelfTargetSchema {
    data: Workflow;
}
