import type { Schema, Struct } from '@strapi/strapi'; export interface AdminApiToken extends Struct.CollectionTypeSchema { collectionName: 'strapi_api_tokens'; info: { description: ''; displayName: 'Api Token'; name: 'Api Token'; pluralName: 'api-tokens'; singularName: 'api-token'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { accessKey: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; description: Schema.Attribute.String & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }> & Schema.Attribute.DefaultTo<''>; encryptedKey: Schema.Attribute.Text & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; expiresAt: Schema.Attribute.DateTime; lastUsedAt: Schema.Attribute.DateTime; lifespan: Schema.Attribute.BigInteger; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation<'oneToMany', 'admin::api-token'> & Schema.Attribute.Private; name: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; permissions: Schema.Attribute.Relation< 'oneToMany', 'admin::api-token-permission' >; publishedAt: Schema.Attribute.DateTime; type: Schema.Attribute.Enumeration<['read-only', 'full-access', 'custom']> & Schema.Attribute.Required & Schema.Attribute.DefaultTo<'read-only'>; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface AdminApiTokenPermission extends Struct.CollectionTypeSchema { collectionName: 'strapi_api_token_permissions'; info: { description: ''; displayName: 'API Token Permission'; name: 'API Token Permission'; pluralName: 'api-token-permissions'; singularName: 'api-token-permission'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { action: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'admin::api-token-permission' > & Schema.Attribute.Private; publishedAt: Schema.Attribute.DateTime; token: Schema.Attribute.Relation<'manyToOne', 'admin::api-token'>; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface AdminPermission extends Struct.CollectionTypeSchema { collectionName: 'admin_permissions'; info: { description: ''; displayName: 'Permission'; name: 'Permission'; pluralName: 'permissions'; singularName: 'permission'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { action: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; actionParameters: Schema.Attribute.JSON & Schema.Attribute.DefaultTo<{}>; conditions: Schema.Attribute.JSON & Schema.Attribute.DefaultTo<[]>; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation<'oneToMany', 'admin::permission'> & Schema.Attribute.Private; properties: Schema.Attribute.JSON & Schema.Attribute.DefaultTo<{}>; publishedAt: Schema.Attribute.DateTime; role: Schema.Attribute.Relation<'manyToOne', 'admin::role'>; subject: Schema.Attribute.String & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface AdminRole extends Struct.CollectionTypeSchema { collectionName: 'admin_roles'; info: { description: ''; displayName: 'Role'; name: 'Role'; pluralName: 'roles'; singularName: 'role'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { code: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; description: Schema.Attribute.String; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation<'oneToMany', 'admin::role'> & Schema.Attribute.Private; name: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; permissions: Schema.Attribute.Relation<'oneToMany', 'admin::permission'>; publishedAt: Schema.Attribute.DateTime; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; users: Schema.Attribute.Relation<'manyToMany', 'admin::user'>; }; } export interface AdminTransferToken extends Struct.CollectionTypeSchema { collectionName: 'strapi_transfer_tokens'; info: { description: ''; displayName: 'Transfer Token'; name: 'Transfer Token'; pluralName: 'transfer-tokens'; singularName: 'transfer-token'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { accessKey: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; description: Schema.Attribute.String & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }> & Schema.Attribute.DefaultTo<''>; expiresAt: Schema.Attribute.DateTime; lastUsedAt: Schema.Attribute.DateTime; lifespan: Schema.Attribute.BigInteger; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'admin::transfer-token' > & Schema.Attribute.Private; name: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; permissions: Schema.Attribute.Relation< 'oneToMany', 'admin::transfer-token-permission' >; publishedAt: Schema.Attribute.DateTime; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface AdminTransferTokenPermission extends Struct.CollectionTypeSchema { collectionName: 'strapi_transfer_token_permissions'; info: { description: ''; displayName: 'Transfer Token Permission'; name: 'Transfer Token Permission'; pluralName: 'transfer-token-permissions'; singularName: 'transfer-token-permission'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { action: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'admin::transfer-token-permission' > & Schema.Attribute.Private; publishedAt: Schema.Attribute.DateTime; token: Schema.Attribute.Relation<'manyToOne', 'admin::transfer-token'>; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface AdminUser extends Struct.CollectionTypeSchema { collectionName: 'admin_users'; info: { description: ''; displayName: 'User'; name: 'User'; pluralName: 'users'; singularName: 'user'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { blocked: Schema.Attribute.Boolean & Schema.Attribute.Private & Schema.Attribute.DefaultTo; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; email: Schema.Attribute.Email & Schema.Attribute.Required & Schema.Attribute.Private & Schema.Attribute.Unique & Schema.Attribute.SetMinMaxLength<{ minLength: 6; }>; firstname: Schema.Attribute.String & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; isActive: Schema.Attribute.Boolean & Schema.Attribute.Private & Schema.Attribute.DefaultTo; lastname: Schema.Attribute.String & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation<'oneToMany', 'admin::user'> & Schema.Attribute.Private; password: Schema.Attribute.Password & Schema.Attribute.Private & Schema.Attribute.SetMinMaxLength<{ minLength: 6; }>; preferedLanguage: Schema.Attribute.String; publishedAt: Schema.Attribute.DateTime; registrationToken: Schema.Attribute.String & Schema.Attribute.Private; resetPasswordToken: Schema.Attribute.String & Schema.Attribute.Private; roles: Schema.Attribute.Relation<'manyToMany', 'admin::role'> & Schema.Attribute.Private; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; username: Schema.Attribute.String; }; } export interface ApiCustomerCustomer extends Struct.CollectionTypeSchema { collectionName: 'customers'; info: { description: ''; displayName: 'Customer'; pluralName: 'customers'; singularName: 'customer'; }; options: { draftAndPublish: true; }; attributes: { active: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo; bannedUntil: Schema.Attribute.DateTime; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; customer_setting: Schema.Attribute.Relation< 'oneToOne', 'api::customer.customer-setting' >; invited: Schema.Attribute.Relation<'manyToMany', 'api::customer.customer'>; invitedBy: Schema.Attribute.Relation< 'manyToMany', 'api::customer.customer' >; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'api::customer.customer' > & Schema.Attribute.Private; name: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.SetMinMaxLength<{ maxLength: 100; }>; orders: Schema.Attribute.Relation<'oneToMany', 'api::order.order'>; phone: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique & Schema.Attribute.SetMinMaxLength<{ maxLength: 20; }>; photoUrl: Schema.Attribute.String; publishedAt: Schema.Attribute.DateTime; role: Schema.Attribute.Enumeration<['client', 'master']> & Schema.Attribute.Required; services: Schema.Attribute.Relation<'oneToMany', 'api::service.service'>; slots: Schema.Attribute.Relation<'oneToMany', 'api::slot.slot'>; subscription_rewards: Schema.Attribute.Relation< 'oneToMany', 'api::subscription-reward.subscription-reward' >; subscriptions: Schema.Attribute.Relation< 'oneToMany', 'api::subscription.subscription' >; surname: Schema.Attribute.String & Schema.Attribute.SetMinMaxLength<{ maxLength: 100; }>; telegramId: Schema.Attribute.BigInteger & Schema.Attribute.Unique; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface ApiCustomerCustomerSetting extends Struct.CollectionTypeSchema { collectionName: 'customer_settings'; info: { displayName: 'CustomerSettings'; pluralName: 'customer-settings'; singularName: 'customer-setting'; }; options: { draftAndPublish: false; }; attributes: { autoRenewSubscription: Schema.Attribute.Boolean; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; customer: Schema.Attribute.Relation<'oneToOne', 'api::customer.customer'>; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'api::customer.customer-setting' > & Schema.Attribute.Private; publishedAt: Schema.Attribute.DateTime; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface ApiOrderOrder extends Struct.CollectionTypeSchema { collectionName: 'orders'; info: { description: ''; displayName: 'Order'; pluralName: 'orders'; singularName: 'order'; }; options: { draftAndPublish: true; }; attributes: { client: Schema.Attribute.Relation<'manyToOne', 'api::customer.customer'>; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; datetime_end: Schema.Attribute.DateTime & Schema.Attribute.Required; datetime_start: Schema.Attribute.DateTime & Schema.Attribute.Required; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation<'oneToMany', 'api::order.order'> & Schema.Attribute.Private; order_number: Schema.Attribute.Integer; publishedAt: Schema.Attribute.DateTime; services: Schema.Attribute.Relation<'manyToMany', 'api::service.service'>; slot: Schema.Attribute.Relation<'manyToOne', 'api::slot.slot'>; state: Schema.Attribute.Enumeration< [ 'created', 'scheduled', 'approved', 'completed', 'cancelling', 'cancelled', ] > & Schema.Attribute.DefaultTo<'created'>; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface ApiServiceService extends Struct.CollectionTypeSchema { collectionName: 'services'; info: { description: ''; displayName: 'Service'; pluralName: 'services'; singularName: 'service'; }; options: { draftAndPublish: true; }; attributes: { active: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; description: Schema.Attribute.Text; duration: Schema.Attribute.Time & Schema.Attribute.Required & Schema.Attribute.DefaultTo<'01:00:00.000'>; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'api::service.service' > & Schema.Attribute.Private; master: Schema.Attribute.Relation<'manyToOne', 'api::customer.customer'>; name: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.SetMinMaxLength<{ maxLength: 100; }>; orders: Schema.Attribute.Relation<'manyToMany', 'api::order.order'>; price: Schema.Attribute.Decimal & Schema.Attribute.SetMinMax< { min: 1; }, number >; publishedAt: Schema.Attribute.DateTime; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface ApiSlotSlot extends Struct.CollectionTypeSchema { collectionName: 'slots'; info: { description: ''; displayName: 'Slot'; pluralName: 'slots'; singularName: 'slot'; }; options: { draftAndPublish: true; }; attributes: { createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; datetime_end: Schema.Attribute.DateTime & Schema.Attribute.Required; datetime_start: Schema.Attribute.DateTime & Schema.Attribute.Required; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation<'oneToMany', 'api::slot.slot'> & Schema.Attribute.Private; master: Schema.Attribute.Relation<'manyToOne', 'api::customer.customer'>; orders: Schema.Attribute.Relation<'oneToMany', 'api::order.order'>; publishedAt: Schema.Attribute.DateTime; state: Schema.Attribute.Enumeration<['open', 'reserved', 'closed']>; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface ApiSubscriptionHistorySubscriptionHistory extends Struct.CollectionTypeSchema { collectionName: 'subscription_histories'; info: { displayName: 'SubscriptionHistory'; pluralName: 'subscription-histories'; singularName: 'subscription-history'; }; options: { draftAndPublish: true; }; attributes: { amount: Schema.Attribute.Decimal & Schema.Attribute.Required; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; currency: Schema.Attribute.String & Schema.Attribute.DefaultTo<'RUB'>; description: Schema.Attribute.Text; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'api::subscription-history.subscription-history' > & Schema.Attribute.Private; paymentId: Schema.Attribute.String; period: Schema.Attribute.String & Schema.Attribute.SetMinMaxLength<{ maxLength: 20; }>; publishedAt: Schema.Attribute.DateTime; source: Schema.Attribute.Enumeration< ['payment', 'trial', 'reward', 'admin', 'renewal'] > & Schema.Attribute.Required & Schema.Attribute.DefaultTo<'payment'>; state: Schema.Attribute.Enumeration<['success', 'failed', 'pending']> & Schema.Attribute.Required; subscription: Schema.Attribute.Relation< 'oneToOne', 'api::subscription.subscription' >; subscription_price: Schema.Attribute.Relation< 'oneToOne', 'api::subscription-price.subscription-price' >; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface ApiSubscriptionPriceSubscriptionPrice extends Struct.CollectionTypeSchema { collectionName: 'subscription_prices'; info: { displayName: 'SubscriptionPrice'; pluralName: 'subscription-prices'; singularName: 'subscription-price'; }; options: { draftAndPublish: true; }; attributes: { active: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo; amount: Schema.Attribute.Decimal & Schema.Attribute.Required; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; currency: Schema.Attribute.String & Schema.Attribute.DefaultTo<'RUB'>; days: Schema.Attribute.Integer & Schema.Attribute.Required; description: Schema.Attribute.Text; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'api::subscription-price.subscription-price' > & Schema.Attribute.Private; period: Schema.Attribute.Enumeration< ['trial', 'day', 'week', 'month', 'half_year', 'year'] > & Schema.Attribute.Required; publishedAt: Schema.Attribute.DateTime; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface ApiSubscriptionRewardSubscriptionReward extends Struct.CollectionTypeSchema { collectionName: 'subscription_rewards'; info: { displayName: 'SubscriptionReward'; pluralName: 'subscription-rewards'; singularName: 'subscription-reward'; }; options: { draftAndPublish: true; }; attributes: { activated: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; days: Schema.Attribute.Integer & Schema.Attribute.Required; description: Schema.Attribute.Text; expiresAt: Schema.Attribute.DateTime & Schema.Attribute.Required; invited: Schema.Attribute.Relation<'oneToOne', 'api::customer.customer'>; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'api::subscription-reward.subscription-reward' > & Schema.Attribute.Private; owner: Schema.Attribute.Relation<'manyToOne', 'api::customer.customer'>; publishedAt: Schema.Attribute.DateTime; subscription: Schema.Attribute.Relation< 'manyToOne', 'api::subscription.subscription' >; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface ApiSubscriptionSettingSubscriptionSetting extends Struct.SingleTypeSchema { collectionName: 'subscription_settings'; info: { displayName: 'SubscriptionSettings'; pluralName: 'subscription-settings'; singularName: 'subscription-setting'; }; options: { draftAndPublish: true; }; attributes: { createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'api::subscription-setting.subscription-setting' > & Schema.Attribute.Private; maxOrdersPerMonth: Schema.Attribute.Integer & Schema.Attribute.Required & Schema.Attribute.DefaultTo<20>; proEnabled: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo; publishedAt: Schema.Attribute.DateTime; referralRewardDays: Schema.Attribute.Integer & Schema.Attribute.Required & Schema.Attribute.DefaultTo<1>; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface ApiSubscriptionSubscription extends Struct.CollectionTypeSchema { collectionName: 'subscriptions'; info: { displayName: 'Subscription'; pluralName: 'subscriptions'; singularName: 'subscription'; }; options: { draftAndPublish: true; }; attributes: { active: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; customer: Schema.Attribute.Relation<'manyToOne', 'api::customer.customer'>; expiresAt: Schema.Attribute.DateTime & Schema.Attribute.Required; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'api::subscription.subscription' > & Schema.Attribute.Private; nextSubscription: Schema.Attribute.Relation< 'oneToOne', 'api::subscription.subscription' >; publishedAt: Schema.Attribute.DateTime; subscription_history: Schema.Attribute.Relation< 'oneToOne', 'api::subscription-history.subscription-history' >; subscription_rewards: Schema.Attribute.Relation< 'oneToMany', 'api::subscription-reward.subscription-reward' >; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface PluginContentReleasesRelease extends Struct.CollectionTypeSchema { collectionName: 'strapi_releases'; info: { displayName: 'Release'; pluralName: 'releases'; singularName: 'release'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { actions: Schema.Attribute.Relation< 'oneToMany', 'plugin::content-releases.release-action' >; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'plugin::content-releases.release' > & Schema.Attribute.Private; name: Schema.Attribute.String & Schema.Attribute.Required; publishedAt: Schema.Attribute.DateTime; releasedAt: Schema.Attribute.DateTime; scheduledAt: Schema.Attribute.DateTime; status: Schema.Attribute.Enumeration< ['ready', 'blocked', 'failed', 'done', 'empty'] > & Schema.Attribute.Required; timezone: Schema.Attribute.String; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface PluginContentReleasesReleaseAction extends Struct.CollectionTypeSchema { collectionName: 'strapi_release_actions'; info: { displayName: 'Release Action'; pluralName: 'release-actions'; singularName: 'release-action'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { contentType: Schema.Attribute.String & Schema.Attribute.Required; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; entryDocumentId: Schema.Attribute.String; isEntryValid: Schema.Attribute.Boolean; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'plugin::content-releases.release-action' > & Schema.Attribute.Private; publishedAt: Schema.Attribute.DateTime; release: Schema.Attribute.Relation< 'manyToOne', 'plugin::content-releases.release' >; type: Schema.Attribute.Enumeration<['publish', 'unpublish']> & Schema.Attribute.Required; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface PluginI18NLocale extends Struct.CollectionTypeSchema { collectionName: 'i18n_locale'; info: { collectionName: 'locales'; description: ''; displayName: 'Locale'; pluralName: 'locales'; singularName: 'locale'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { code: Schema.Attribute.String & Schema.Attribute.Unique; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'plugin::i18n.locale' > & Schema.Attribute.Private; name: Schema.Attribute.String & Schema.Attribute.SetMinMax< { max: 50; min: 1; }, number >; publishedAt: Schema.Attribute.DateTime; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface PluginReviewWorkflowsWorkflow extends Struct.CollectionTypeSchema { collectionName: 'strapi_workflows'; info: { description: ''; displayName: 'Workflow'; name: 'Workflow'; pluralName: 'workflows'; singularName: 'workflow'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { contentTypes: Schema.Attribute.JSON & Schema.Attribute.Required & Schema.Attribute.DefaultTo<'[]'>; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'plugin::review-workflows.workflow' > & Schema.Attribute.Private; name: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique; publishedAt: Schema.Attribute.DateTime; stageRequiredToPublish: Schema.Attribute.Relation< 'oneToOne', 'plugin::review-workflows.workflow-stage' >; stages: Schema.Attribute.Relation< 'oneToMany', 'plugin::review-workflows.workflow-stage' >; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface PluginReviewWorkflowsWorkflowStage extends Struct.CollectionTypeSchema { collectionName: 'strapi_workflows_stages'; info: { description: ''; displayName: 'Stages'; name: 'Workflow Stage'; pluralName: 'workflow-stages'; singularName: 'workflow-stage'; }; options: { draftAndPublish: false; version: '1.1.0'; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { color: Schema.Attribute.String & Schema.Attribute.DefaultTo<'#4945FF'>; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'plugin::review-workflows.workflow-stage' > & Schema.Attribute.Private; name: Schema.Attribute.String; permissions: Schema.Attribute.Relation<'manyToMany', 'admin::permission'>; publishedAt: Schema.Attribute.DateTime; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; workflow: Schema.Attribute.Relation< 'manyToOne', 'plugin::review-workflows.workflow' >; }; } export interface PluginUploadFile extends Struct.CollectionTypeSchema { collectionName: 'files'; info: { description: ''; displayName: 'File'; pluralName: 'files'; singularName: 'file'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { alternativeText: Schema.Attribute.String; caption: Schema.Attribute.String; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; ext: Schema.Attribute.String; folder: Schema.Attribute.Relation<'manyToOne', 'plugin::upload.folder'> & Schema.Attribute.Private; folderPath: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Private & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; formats: Schema.Attribute.JSON; hash: Schema.Attribute.String & Schema.Attribute.Required; height: Schema.Attribute.Integer; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'plugin::upload.file' > & Schema.Attribute.Private; mime: Schema.Attribute.String & Schema.Attribute.Required; name: Schema.Attribute.String & Schema.Attribute.Required; previewUrl: Schema.Attribute.String; provider: Schema.Attribute.String & Schema.Attribute.Required; provider_metadata: Schema.Attribute.JSON; publishedAt: Schema.Attribute.DateTime; related: Schema.Attribute.Relation<'morphToMany'>; size: Schema.Attribute.Decimal & Schema.Attribute.Required; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; url: Schema.Attribute.String & Schema.Attribute.Required; width: Schema.Attribute.Integer; }; } export interface PluginUploadFolder extends Struct.CollectionTypeSchema { collectionName: 'upload_folders'; info: { displayName: 'Folder'; pluralName: 'folders'; singularName: 'folder'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { children: Schema.Attribute.Relation<'oneToMany', 'plugin::upload.folder'>; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; files: Schema.Attribute.Relation<'oneToMany', 'plugin::upload.file'>; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'plugin::upload.folder' > & Schema.Attribute.Private; name: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; parent: Schema.Attribute.Relation<'manyToOne', 'plugin::upload.folder'>; path: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.SetMinMaxLength<{ minLength: 1; }>; pathId: Schema.Attribute.Integer & Schema.Attribute.Required & Schema.Attribute.Unique; publishedAt: Schema.Attribute.DateTime; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface PluginUsersPermissionsPermission extends Struct.CollectionTypeSchema { collectionName: 'up_permissions'; info: { description: ''; displayName: 'Permission'; name: 'permission'; pluralName: 'permissions'; singularName: 'permission'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { action: Schema.Attribute.String & Schema.Attribute.Required; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'plugin::users-permissions.permission' > & Schema.Attribute.Private; publishedAt: Schema.Attribute.DateTime; role: Schema.Attribute.Relation< 'manyToOne', 'plugin::users-permissions.role' >; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; }; } export interface PluginUsersPermissionsRole extends Struct.CollectionTypeSchema { collectionName: 'up_roles'; info: { description: ''; displayName: 'Role'; name: 'role'; pluralName: 'roles'; singularName: 'role'; }; options: { draftAndPublish: false; }; pluginOptions: { 'content-manager': { visible: false; }; 'content-type-builder': { visible: false; }; }; attributes: { createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; description: Schema.Attribute.String; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'plugin::users-permissions.role' > & Schema.Attribute.Private; name: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.SetMinMaxLength<{ minLength: 3; }>; permissions: Schema.Attribute.Relation< 'oneToMany', 'plugin::users-permissions.permission' >; publishedAt: Schema.Attribute.DateTime; type: Schema.Attribute.String & Schema.Attribute.Unique; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; users: Schema.Attribute.Relation< 'oneToMany', 'plugin::users-permissions.user' >; }; } export interface PluginUsersPermissionsUser extends Struct.CollectionTypeSchema { collectionName: 'up_users'; info: { description: ''; displayName: 'User'; name: 'user'; pluralName: 'users'; singularName: 'user'; }; options: { draftAndPublish: false; timestamps: true; }; attributes: { blocked: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo; confirmationToken: Schema.Attribute.String & Schema.Attribute.Private; confirmed: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; email: Schema.Attribute.Email & Schema.Attribute.Required & Schema.Attribute.SetMinMaxLength<{ minLength: 6; }>; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation< 'oneToMany', 'plugin::users-permissions.user' > & Schema.Attribute.Private; password: Schema.Attribute.Password & Schema.Attribute.Private & Schema.Attribute.SetMinMaxLength<{ minLength: 6; }>; provider: Schema.Attribute.String; publishedAt: Schema.Attribute.DateTime; resetPasswordToken: Schema.Attribute.String & Schema.Attribute.Private; role: Schema.Attribute.Relation< 'manyToOne', 'plugin::users-permissions.role' >; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; username: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique & Schema.Attribute.SetMinMaxLength<{ minLength: 3; }>; }; } declare module '@strapi/strapi' { export module Public { export interface ContentTypeSchemas { 'admin::api-token': AdminApiToken; 'admin::api-token-permission': AdminApiTokenPermission; 'admin::permission': AdminPermission; 'admin::role': AdminRole; 'admin::transfer-token': AdminTransferToken; 'admin::transfer-token-permission': AdminTransferTokenPermission; 'admin::user': AdminUser; 'api::customer.customer': ApiCustomerCustomer; 'api::customer.customer-setting': ApiCustomerCustomerSetting; 'api::order.order': ApiOrderOrder; 'api::service.service': ApiServiceService; 'api::slot.slot': ApiSlotSlot; 'api::subscription-history.subscription-history': ApiSubscriptionHistorySubscriptionHistory; 'api::subscription-price.subscription-price': ApiSubscriptionPriceSubscriptionPrice; 'api::subscription-reward.subscription-reward': ApiSubscriptionRewardSubscriptionReward; 'api::subscription-setting.subscription-setting': ApiSubscriptionSettingSubscriptionSetting; 'api::subscription.subscription': ApiSubscriptionSubscription; 'plugin::content-releases.release': PluginContentReleasesRelease; 'plugin::content-releases.release-action': PluginContentReleasesReleaseAction; 'plugin::i18n.locale': PluginI18NLocale; 'plugin::review-workflows.workflow': PluginReviewWorkflowsWorkflow; 'plugin::review-workflows.workflow-stage': PluginReviewWorkflowsWorkflowStage; 'plugin::upload.file': PluginUploadFile; 'plugin::upload.folder': PluginUploadFolder; 'plugin::users-permissions.permission': PluginUsersPermissionsPermission; 'plugin::users-permissions.role': PluginUsersPermissionsRole; 'plugin::users-permissions.user': PluginUsersPermissionsUser; } } }