/** * Стратегии миграции конфигураций виджета чата */ import { MigrationStrategy, MigrationContext, MigrationStepResult } from './types'; /** Базовый класс для стратегий миграции */ export declare abstract class BaseMigrationStrategy implements MigrationStrategy { abstract name: string; abstract description: string; abstract appliesTo: { from: any; to: any; }; canApply(context: MigrationContext): boolean; abstract apply(context: MigrationContext): MigrationStepResult; rollback?(_context: MigrationContext): MigrationStepResult; protected createSuccessResult(data: any, warnings?: string[]): MigrationStepResult; protected createErrorResult(errors: string[], data?: any): MigrationStepResult; } /** Стратегия добавления новых полей в settings для V1->V2 */ export declare class AddSettingsFieldsV1toV2Strategy extends BaseMigrationStrategy { name: string; description: string; appliesTo: { from: "1.0"; to: "2.0"; }; apply(context: MigrationContext): MigrationStepResult; } /** Стратегия добавления chipStyle в top.params для V1->V2 */ export declare class AddChipStyleV1toV2Strategy extends BaseMigrationStrategy { name: string; description: string; appliesTo: { from: "1.0"; to: "2.0"; }; apply(context: MigrationContext): MigrationStepResult; } /** Стратегия добавления bgType для сообщений в V1->V2 */ export declare class AddMessageBgTypeV1toV2Strategy extends BaseMigrationStrategy { name: string; description: string; appliesTo: { from: "1.0"; to: "2.0"; }; apply(context: MigrationContext): MigrationStepResult; } /** Стратегия добавления новых кнопок approve/reject в V1->V2 */ export declare class AddActionButtonsV1toV2Strategy extends BaseMigrationStrategy { name: string; description: string; appliesTo: { from: "1.0"; to: "2.0"; }; apply(context: MigrationContext): MigrationStepResult; } /** Стратегия расширения inputSend для V1->V2 */ export declare class EnhanceInputSendV1toV2Strategy extends BaseMigrationStrategy { name: string; description: string; appliesTo: { from: "1.0"; to: "2.0"; }; apply(context: MigrationContext): MigrationStepResult; } /** Стратегия добавления warningAlert и disclaimer в V1->V2 */ export declare class AddBottomElementsV1toV2Strategy extends BaseMigrationStrategy { name: string; description: string; appliesTo: { from: "1.0"; to: "2.0"; }; apply(context: MigrationContext): MigrationStepResult; } /** Реестр всех стратегий миграции V1->V2 */ export declare const V1_TO_V2_STRATEGIES: MigrationStrategy[]; /** Стратегия добавления theme и container в settings для V2->V3 */ export declare class AddThemeAndContainerV2toV3Strategy extends BaseMigrationStrategy { name: string; description: string; appliesTo: { from: "2.0"; to: "3.0"; }; apply(context: MigrationContext): MigrationStepResult; } /** Стратегия добавления border, sideMargin, borderRadius в top.params для V2->V3 */ export declare class AddTopParamsV2toV3Strategy extends BaseMigrationStrategy { name: string; description: string; appliesTo: { from: "2.0"; to: "3.0"; }; apply(context: MigrationContext): MigrationStepResult; } /** Стратегия добавления dataAction в inside для V2->V3 */ export declare class AddDataActionV2toV3Strategy extends BaseMigrationStrategy { name: string; description: string; appliesTo: { from: "2.0"; to: "3.0"; }; apply(context: MigrationContext): MigrationStepResult; } /** Стратегия расширения welcomeMessage для V2->V3 */ export declare class EnhanceWelcomeMessageV2toV3Strategy extends BaseMigrationStrategy { name: string; description: string; appliesTo: { from: "2.0"; to: "3.0"; }; apply(context: MigrationContext): MigrationStepResult; } /** Стратегия добавления btnVoice в bottom для V2->V3 */ export declare class AddVoiceButtonV2toV3Strategy extends BaseMigrationStrategy { name: string; description: string; appliesTo: { from: "2.0"; to: "3.0"; }; apply(context: MigrationContext): MigrationStepResult; } /** Реестр всех стратегий миграции V2->V3 */ export declare const V2_TO_V3_STRATEGIES: MigrationStrategy[]; /** Получить все стратегии для конкретного перехода версий */ export declare function getStrategiesForMigration(from: string, to: string): MigrationStrategy[]; /** Получить все доступные стратегии */ export declare function getAllStrategies(): MigrationStrategy[]; //# sourceMappingURL=strategies.d.ts.map