import { cC as CreateDataExtensionSchemaRequest$1, cD as CreateDataExtensionSchemaResponse$1, cE as UpdateDataExtensionSchemaRequest$1, U as UpdateDataExtensionSchemaResponse$1, cF as ListDataExtensionSchemasRequest$1, a as ListDataExtensionSchemasResponse$1, cK as DeleteByWhiteListedMetaSiteRequest$1, b as DeleteByWhiteListedMetaSiteResponse$1 } from './data-extensions-v1-data-extension-schema-schemas.universal-B3TsUdwU.js';

/** A Data Extension Schema is the [JSON schema](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/the-json-schema) within a [schema plugin extension](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) defining `extendedFields` that are added to a Wix API's service object. */
interface DataExtensionSchema {
    /**
     * Schema ID.
     * @format GUID
     * @readonly
     * @immutable
     */
    id?: string | null;
    /**
     * FQDN of the entity this schema extends.
     * @immutable
     * @maxLength 255
     */
    fqdn?: string | null;
    /**
     * Namespace for this schema. For example, an app creating schemas might use their app name as a namespace.
     * When a site owner creates a user-defined schema, the namespace is: `_user_fields`.
     * @immutable
     * @maxLength 164
     */
    namespace?: string | null;
    /**
     * Schema definition in [JSON schema format](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/the-json-schema) with the following [vocab](https://docs.json-everything.net/schema/vocabs/) extension:
     * ```
     * {
     * "$schema": "https://json-schema.org/draft/2020-12/schema",
     * "$id": "https://wixapis.com/v1/json-schema/extensions",
     * "$vocabulary": {
     * "https://wixapis.com/v1/json-schema/extensions/vocab/data-extensions": true
     * },
     * "$dynamicAnchor": "meta",
     * "title": "Wix' data-extensions vocabulary meta schema",
     * "type": [
     * "object",
     * "boolean"
     * ],
     * "properties": {
     * "x-wix-permissions": {
     * "type": "object",
     * "description": "list of identity types that are allowed reading schema properties",
     * "properties": {
     * "read": {
     * "type": "array",
     * "items": {
     * "type": "string",
     * "enum": [
     * "apps",
     * "owning-app",
     * "users",
     * "users-of-users"
     * ]
     * }
     * },
     * "write": {
     * "type": "array",
     * "items": {
     * "type": "string",
     * "enum": [
     * "apps",
     * "owning-app",
     * "users",
     * "users-of-users"
     * ]
     * }
     * }
     * }
     * },
     * "x-wix-display": {
     * "type": "object",
     * "description": "field display properties",
     * "schema": {
     * "properties": {
     * "placeholder": {
     * "type": "string",
     * "maxLength": 255,
     * "description": "placeholder text for input fields"
     * },
     * "label": {
     * "type": "string",
     * "maxLength": 255,
     * "description": "label of the input fields"
     * },
     * "hint": {
     * "type": "string",
     * "maxLength": 255,
     * "description": "a short explanation that appears next to the input field"
     * }
     * }
     * }
     * }
     * }
     * }
     * ```
     */
    jsonSchema?: Record<string, any> | null;
    /**
     * Date and time the schema was last updated.
     * @readonly
     */
    updatedDate?: Date | null;
    /**
     * Date and time the schema was created.
     * @readonly
     */
    createdDate?: Date | null;
    /**
     * Revision number, which increments by 1 each time the schema is updated. To prevent conflicting changes, the existing revision must be used when updating a schema.
     * @readonly
     */
    revision?: string | null;
    /**
     * Maximum allowed schema size in bytes.
     * @readonly
     */
    maxLimitBytes?: number | null;
    /**
     * Current schema size in bytes.
     * @readonly
     */
    currentSizeBytes?: number | null;
}
interface CreateDataExtensionSchemaRequest {
    /** Schema to create. */
    dataExtensionSchema: DataExtensionSchema;
}
interface CreateDataExtensionSchemaResponse {
    /** Created schema. */
    dataExtensionSchema?: DataExtensionSchema;
}
interface UpdateDataExtensionSchemaRequest {
    /** Schema to update. */
    dataExtensionSchema: DataExtensionSchema;
}
interface UpdateDataExtensionSchemaResponse {
    /** Updated schema. */
    dataExtensionSchema?: DataExtensionSchema;
}
interface ListDataExtensionSchemasRequest {
    /**
     * [Fully qualified domain name](https://dev.wix.com/docs/rest/articles/getting-started/fqdns).
     * @maxLength 255
     */
    fqdn: string;
    /**
     * Namespaces within the given entity.
     * @maxSize 100
     * @maxLength 164
     */
    namespaces?: string[];
    /**
     * Additional fields that are hidden by default. For example, fields with `"x-wix-archived": true`.
     * @maxSize 5
     */
    fields?: RequestedFieldWithLiterals[];
    /**
     * Extension points within the given entity.
     * @maxSize 20
     * @maxLength 10
     */
    extensionPoints?: string[];
}
declare enum RequestedField {
    /** Undefined requested field. */
    UNKNOWN_REQUESTED_FIELD = "UNKNOWN_REQUESTED_FIELD",
    /** Returns `x-wix-archived` fields in `DataExtensionSchema.json_schema`. */
    ARCHIVED = "ARCHIVED"
}
/** @enumType */
type RequestedFieldWithLiterals = RequestedField | 'UNKNOWN_REQUESTED_FIELD' | 'ARCHIVED';
interface ListDataExtensionSchemasResponse {
    /** Requested schemas. */
    dataExtensionSchemas?: DataExtensionSchema[];
}
interface DeleteByWhiteListedMetaSiteRequest {
    /**
     * Meta site id
     * @format GUID
     */
    metaSiteId: string;
}
interface DeleteByWhiteListedMetaSiteResponse {
    /** has more */
    hasMore?: boolean;
}

type __PublicMethodMetaInfo<K = string, M = unknown, T = unknown, S = unknown, Q = unknown, R = unknown> = {
    getUrl: (context: any) => string;
    httpMethod: K;
    path: string;
    pathParams: M;
    __requestType: T;
    __originalRequestType: S;
    __responseType: Q;
    __originalResponseType: R;
};
declare function createDataExtensionSchema(): __PublicMethodMetaInfo<'POST', {}, CreateDataExtensionSchemaRequest$1, CreateDataExtensionSchemaRequest, CreateDataExtensionSchemaResponse$1, CreateDataExtensionSchemaResponse>;
declare function updateDataExtensionSchema(): __PublicMethodMetaInfo<'PUT', {}, UpdateDataExtensionSchemaRequest$1, UpdateDataExtensionSchemaRequest, UpdateDataExtensionSchemaResponse$1, UpdateDataExtensionSchemaResponse>;
declare function listDataExtensionSchemas(): __PublicMethodMetaInfo<'GET', {}, ListDataExtensionSchemasRequest$1, ListDataExtensionSchemasRequest, ListDataExtensionSchemasResponse$1, ListDataExtensionSchemasResponse>;
declare function deleteByWhiteListedMetaSite(): __PublicMethodMetaInfo<'POST', {}, DeleteByWhiteListedMetaSiteRequest$1, DeleteByWhiteListedMetaSiteRequest, DeleteByWhiteListedMetaSiteResponse$1, DeleteByWhiteListedMetaSiteResponse>;

export { type __PublicMethodMetaInfo, createDataExtensionSchema, deleteByWhiteListedMetaSite, listDataExtensionSchemas, updateDataExtensionSchema };
