/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export type ArgsV3_0_0 = string | ContentObjectSchemaV3_0_0;
export type ContentObjectSchemaV3_0_0 = AllOfSchemaV3_0_0 | OneOfSchemaV3_0_0 | RefSchemaV3_0_0 | RefSchemaLegacyV3_0_0 | ObjectSchemaV3_0_0 | ArraySchemaV3_0_0;
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "ref".
 */
export type RefV3_0_0 = string;
export type ObjectSchemaV3_0_0 = ContentSchemaV3_0_0 & {
    type: 'object';
    properties: {
        [k: string]: ContentSchemaV3_0_0;
    };
};
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "fieldMapping".
 */
export type FieldMappingV3_0_0 = string | string[];
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "resolver".
 */
export type ResolverV3_0_0 = BasicResolverV3_0_0 | ComposeResolverV3_0_0;
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "directiveConfig".
 */
export type DirectiveConfigV3_0_0 = [DirectiveNameV3_0_0, DirectiveOptionsV3_0_0];
export type DirectiveNameV3_0_0 = string;
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "arraySchema".
 */
export type ArraySchemaV3_0_0 = ContentSchemaV3_0_0 & {
    type: 'array';
    items: ContentObjectSchemaV3_0_0;
};
export type ModelTypeV3_0_0 = 'single' | 'multiple' | 'taxonomy';
export type WorkflowNameV3_0_0 = string;
export type NameV3_0_0 = string;
export type TitleV3_0_0 = string;
export type DescriptionV3_0_0 = string;
export type ColorV3_0_0 = string;
export type LiveV3_0_0 = boolean;
export type KeyV3_0_0 = string;
export type StepsV3_0_0 = WorkflowStepV3_0_0[];
/**
 * This interface was referenced by `EncryptedServiceMapV3_0_0`'s JSON-Schema definition
 * via the `patternProperty` "[0-9A-Za-z_-]+".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "encryptedServiceConfig".
 */
export type EncryptedServiceConfigV3_0_0 = EncryptedGenericServiceConfigV3_0_0 | EncryptedRESTServiceConfigV3_0_0 | EncryptedGraphQLServiceConfigV3_0_0;
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "shapeWithObjectSchema".
 */
export type ShapeWithObjectSchemaV3_0_0 = ShapeJSONV3_0_0 & {
    schema: ObjectSchemaV3_0_0;
};
export interface ProjectSchemaJSONV3_0_0 {
    $schema?: string;
    version: number;
    apiVersion: string;
    schemaVersion: '3' | '3.0.0';
    projectId: string;
    author?: string;
    created: string;
    updated: string;
    deactivated?: number;
    defaultLocale: string;
    locales: string[];
    queries: QueryMapV3_0_0;
    mutations: QueryMapV3_0_0;
    shapes: ShapeMapV3_0_0;
    forms?: FormMapV3_0_0;
    workflows: WorkflowMapV3_0_0;
    dataKey?: string;
    services?: EncryptedServiceMapV3_0_0;
}
export interface QueryMapV3_0_0 {
    [k: string]: QueryJSONV3_0_0;
}
/**
 * This interface was referenced by `QueryMapV3_0_0`'s JSON-Schema definition
 * via the `patternProperty` "^[0-9A-Za-z_]+$".
 */
export interface QueryJSONV3_0_0 {
    args?: ArgsV3_0_0;
    resolver: ResolverV3_0_0;
    /**
     * Specifies which shape is returned by the query or mutation. The shape can refer to a shape in the schema's "shapes" object or a shape that's available on a service schema.
     */
    shape: string;
    /**
     * Provides more detail about what the query or mutation is for. This will be displayed in the automatically-generated GraphQL API docs.
     */
    description?: string;
    [k: string]: any;
}
export interface AllOfSchemaV3_0_0 {
    allOf: (RefSchemaV3_0_0 | RefSchemaLegacyV3_0_0 | ObjectSchemaV3_0_0)[];
}
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "refSchema".
 */
export interface RefSchemaV3_0_0 {
    '@ref': RefV3_0_0;
    [k: string]: any;
}
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "refSchemaLegacy".
 */
export interface RefSchemaLegacyV3_0_0 {
    $ref: RefV3_0_0;
    [k: string]: any;
}
export interface ContentSchemaV3_0_0 {
    $id?: string;
    $schema?: string;
    $ref?: string;
    $comment?: string;
    title?: string;
    description?: string;
    default?: any;
    readOnly?: boolean;
    examples?: any[];
    multipleOf?: number;
    maximum?: number;
    exclusiveMaximum?: number;
    minimum?: number;
    exclusiveMinimum?: number;
    /**
     * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
     * via the `definition` "nonNegativeInteger".
     */
    maxLength?: number;
    /**
     * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
     * via the `definition` "nonNegativeIntegerDefault0".
     */
    minLength?: number;
    pattern?: string;
    additionalItems?: ContentSchemaV3_0_0;
    items?: ContentSchemaV3_0_0;
    /**
     * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
     * via the `definition` "nonNegativeInteger".
     */
    maxItems?: number;
    /**
     * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
     * via the `definition` "nonNegativeIntegerDefault0".
     */
    minItems?: number;
    uniqueItems?: boolean;
    contains?: ContentSchemaV3_0_0;
    /**
     * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
     * via the `definition` "nonNegativeInteger".
     */
    maxProperties?: number;
    /**
     * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
     * via the `definition` "nonNegativeIntegerDefault0".
     */
    minProperties?: number;
    /**
     * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
     * via the `definition` "stringArray".
     */
    required?: string[];
    additionalProperties?: ContentSchemaV3_0_0;
    definitions?: {
        [k: string]: ContentSchemaV3_0_0;
    };
    properties?: {
        [k: string]: ContentSchemaV3_0_0;
    };
    patternProperties?: {
        [k: string]: ContentSchemaV3_0_0;
    };
    dependencies?: {
        [k: string]: ContentSchemaV3_0_0 | string[];
    };
    propertyNames?: ContentSchemaV3_0_0;
    const?: any;
    enum?: any[];
    type?: ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string') | ('array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string')[];
    format?: string;
    contentMediaType?: string;
    contentEncoding?: string;
    if?: ContentSchemaV3_0_0;
    then?: ContentSchemaV3_0_0;
    else?: ContentSchemaV3_0_0;
    /**
     * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
     * via the `definition` "schemaArray".
     */
    allOf?: ContentSchemaV3_0_0[];
    /**
     * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
     * via the `definition` "schemaArray".
     */
    anyOf?: ContentSchemaV3_0_0[];
    /**
     * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
     * via the `definition` "schemaArray".
     */
    oneOf?: ContentSchemaV3_0_0[];
    not?: ContentSchemaV3_0_0;
    '@relationship'?: RelationshipV3_0_0;
    '@syncLocaleStructure'?: boolean;
    '@sensitive'?: boolean;
    '@draftjs'?: boolean;
    '@l10n'?: boolean;
    '@key'?: string;
    '@workflow'?: string;
    '@mapping'?: FieldMappingV3_0_0;
    '@tag'?: string;
    '@tags'?: string[];
    '@deprecationReason'?: string;
    '@user'?: boolean;
    '@args'?: ArgsV3_0_0;
    '@resolver'?: ResolverV3_0_0;
    '@ref'?: RefV3_0_0;
    value?: string;
}
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "relationship".
 */
export interface RelationshipV3_0_0 {
    shapeIds: string[];
    type?: string;
    relatedName?: string;
}
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "basicResolver".
 */
export interface BasicResolverV3_0_0 {
    if?: string;
    id?: string;
    /**
     * The name of the built-in resolver your query or mutation should use.
     */
    name: string;
    /**
     * Specifies the service configuration the resolver should use, identified by a connected service's slug. This configuration contains the endpoint and authentication necessary to make API calls.
     */
    service: string;
    /**
     * Maps a query's input args to the input expected by the service's endpoint.
     */
    argsMapping?: DirectiveMapV3_0_0 | DirectiveConfigV3_0_0[];
    /**
     * Maps a service endpoint's response results to the expected shape of the query's response.
     */
    resultsMapping?: DirectiveMapV3_0_0 | DirectiveConfigV3_0_0[];
    options?: {
        model?: string;
        [k: string]: any;
    };
}
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "directiveMap".
 */
export interface DirectiveMapV3_0_0 {
    /**
     * This interface was referenced by `DirectiveMapV3_0_0`'s JSON-Schema definition
     * via the `patternProperty` "[0-9A-Za-z_-]+".
     */
    [k: string]: DirectiveConfigV3_0_0[];
}
export interface DirectiveOptionsV3_0_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "composeResolver".
 */
export interface ComposeResolverV3_0_0 {
    compose: BasicResolverV3_0_0[];
    resultsMapping?: DirectiveMapV3_0_0 | DirectiveConfigV3_0_0[];
}
/**
 * This interface was referenced by `ContentSchemaV3_0_0`'s JSON-Schema
 * via the `definition` "oneOfSchema".
 */
export interface OneOfSchemaV3_0_0 {
    oneOf: (RefSchemaV3_0_0 | RefSchemaLegacyV3_0_0 | ObjectSchemaV3_0_0)[];
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "shapeMap".
 */
export interface ShapeMapV3_0_0 {
    [k: string]: ShapeJSONV3_0_0;
}
/**
 * This interface was referenced by `ShapeMapV3_0_0`'s JSON-Schema definition
 * via the `patternProperty` "^[0-9A-Za-z_]+$".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "shape".
 */
export interface ShapeJSONV3_0_0 {
    name: string;
    id: string;
    title: string;
    description?: string;
    model?: {
        type: ModelTypeV3_0_0;
    };
    workflow?: string;
    schema: ContentObjectSchemaV3_0_0;
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "formMap".
 */
export interface FormMapV3_0_0 {
    [k: string]: FormsConfigV3_0_0;
}
/**
 * This interface was referenced by `FormMapV3_0_0`'s JSON-Schema definition
 * via the `patternProperty` "[0-9A-Za-z_-]+".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "formsConfig".
 */
export interface FormsConfigV3_0_0 {
    default: FormConfigV3_0_0;
    [k: string]: FormConfigV3_0_0;
}
/**
 * This interface was referenced by `FormsConfigV3_0_0`'s JSON-Schema definition
 * via the `patternProperty` "[0-9A-Za-z_-]+".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "formConfig".
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "[0-9A-Za-z_-]+".
 */
export interface FormConfigV3_0_0 {
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "workflowMap".
 */
export interface WorkflowMapV3_0_0 {
    [k: string]: WorkflowV3_0_0;
}
/**
 * This interface was referenced by `WorkflowMapV3_0_0`'s JSON-Schema definition
 * via the `patternProperty` "[0-9A-Za-z_-]+".
 *
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "workflow".
 */
export interface WorkflowV3_0_0 {
    name: string;
    title: WorkflowNameV3_0_0;
    steps: StepsV3_0_0;
    [k: string]: any;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "workflowStep".
 */
export interface WorkflowStepV3_0_0 {
    name: NameV3_0_0;
    title: TitleV3_0_0;
    description?: DescriptionV3_0_0;
    color: ColorV3_0_0;
    live: LiveV3_0_0;
    key: KeyV3_0_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "encryptedServiceMap".
 */
export interface EncryptedServiceMapV3_0_0 {
    [k: string]: EncryptedServiceConfigV3_0_0;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "encryptedGenericServiceConfig".
 */
export interface EncryptedGenericServiceConfigV3_0_0 {
    auth?: string;
    webhookId?: string;
    params?: GenericServiceConfigParamsV3_0_0;
}
export interface GenericServiceConfigParamsV3_0_0 {
    /**
     * This interface was referenced by `GenericServiceConfigParamsV3_0_0`'s JSON-Schema definition
     * via the `patternProperty` "[a-zA-Z][a-zA-Z0-9]*".
     */
    [k: string]: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "encryptedRestServiceConfig".
 */
export interface EncryptedRESTServiceConfigV3_0_0 {
    auth?: string;
    webhookId?: string;
    params: RESTServiceConfigParamsV3_0_0;
}
export interface RESTServiceConfigParamsV3_0_0 {
    type: 'rest';
    endpoint: string;
    authType: string;
    /**
     * This interface was referenced by `RESTServiceConfigParamsV3_0_0`'s JSON-Schema definition
     * via the `patternProperty` "[a-zA-Z][a-zA-Z0-9]*".
     */
    [k: string]: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "encryptedGraphqlServiceConfig".
 */
export interface EncryptedGraphQLServiceConfigV3_0_0 {
    auth?: string;
    webhookId?: string;
    params: GraphQLServiceConfigParamsV3_0_0;
}
export interface GraphQLServiceConfigParamsV3_0_0 {
    type: 'graphql';
    namespace: string;
    endpoint: string;
    /**
     * This interface was referenced by `GraphQLServiceConfigParamsV3_0_0`'s JSON-Schema definition
     * via the `patternProperty` "[a-zA-Z][a-zA-Z0-9]*".
     */
    [k: string]: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "formScalarConfig".
 */
export interface FormScalarConfigV3_0_0 {
    widget: string;
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "formObjectConfig".
 */
export interface FormObjectConfigV3_0_0 {
    widget?: string;
    order?: string[];
    properties?: {
        [k: string]: FormConfigV3_0_0;
    };
}
/**
 * This interface was referenced by `ProjectSchemaJSONV3_0_0`'s JSON-Schema
 * via the `definition` "formArrayConfig".
 */
export interface FormArrayConfigV3_0_0 {
    widget: string;
    items: FormConfigV3_0_0;
}
