import { DatePipe } from '@c8y/ngx-components';
import { FormControl } from '@angular/forms';
import * as i0 from "@angular/core";
export declare class PlatformConfigurationFormProviderService {
    private c8yDatePipe;
    lineBreakHint: "Use [Enter] or <br> tag to add a new line";
    exampleTomorrowDate: any;
    platformConfigurationFormDefinitions: {
        'system.password.enforce.strength': {
            formId: string;
            title: "Enforce \"green\" passwords for all users";
            type: string;
            control: FormControl<string>;
        };
        'system.password.limit.validity': {
            formId: string;
            title: "Password validity limit (days)";
            description: "The number of days a password may be valid before it must be reset; minimum value is 0, maximum value is 999999. Leave empty to use the value from the tenant options.";
            type: string;
            control: FormControl<string>;
        };
        'system.password.history.size': {
            formId: string;
            title: "Password history size";
            description: "The number of times before the current password can be reused. Minimum value is 0, preset value is 10.";
            type: string;
            placeholder: string;
            placeholderParams: {
                example: string;
            };
            control: FormControl<string>;
        };
        'system.password.green.min-length': {
            formId: string;
            title: "Minimal length of \"green\" password";
            description: "The minimum number of characters which are required for a safe password. Minimum (and preset) value is 8, maximum value is 32. Leave empty to skip this constraint.";
            type: string;
            control: FormControl<string>;
        };
        'ui.email.protocolAndEncryption': {
            formId: string;
            title: "Protocol and encryption";
            type: string;
            options: ({
                value: string;
                name: "SMTP (no encryption)";
            } | {
                value: string;
                name: "SMTP (STARTTLS)";
            } | {
                value: string;
                name: "SMTPS (SSL/TLS)";
            })[];
            skipOnSave: boolean;
            control: FormControl<string>;
        };
        'email.protocol': {
            formId: string;
            title: "Protocol";
            type: string;
            options: {
                value: string;
                name: string;
            }[];
            control: FormControl<string>;
        };
        'email.connection.encrypted': {
            formId: string;
            title: "Connection encrypted";
            type: string;
            control: FormControl<string>;
        };
        'email.host': {
            formId: string;
            title: "Host";
            type: string;
            placeholder: string;
            placeholderParams: {
                example: string;
            };
            control: FormControl<string>;
        };
        'email.port': {
            formId: string;
            title: "Port";
            type: string;
            placeholder: string;
            placeholderParams: {
                example: string;
            };
            control: FormControl<string>;
        };
        'email.username': {
            formId: string;
            title: "Username";
            type: string;
            control: FormControl<string>;
        };
        'credentials.email.password': {
            formId: string;
            title: "Password";
            type: string;
            control: FormControl<string>;
        };
        'email.from': {
            formId: string;
            title: "Sender address";
            type: string;
            control: FormControl<string>;
        };
        'passwordReset.sendNotificationToUnknownEmails': {
            formId: string;
            title: "Send notifications to unknown email addresses";
            type: string;
            control: FormControl<string>;
        };
        'passwordReset.email.subject': {
            formId: string;
            title: "Email subject";
            description: "Subject used for all password reset related emails";
            type: string;
            control: FormControl<string>;
        };
        'passwordReset.token.email.template': {
            formId: string;
            title: "Password reset email template (when address is known)";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        };
        'passwordReset.user.not.found.email.template': {
            formId: string;
            title: "Password reset email template (when address is not known)";
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        };
        'passwordReset.success.email.template': {
            formId: string;
            title: "Password change confirmation email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        };
        'passwordReset.invite.template': {
            formId: string;
            title: "Invitation email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        };
        'export.data.mail.subject': {
            formId: string;
            title: "Email subject";
            description: "Placeholders: {tenant-domain}, {host}, {binaryId}. Whole link to result file is: {tenant-domain}/inventory/binaries/{binaryId}";
            type: string;
            control: FormControl<string>;
        };
        'export.data.mail.text': {
            formId: string;
            title: "Email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        };
        'export.data.mail.text.userunauthorized': {
            formId: string;
            title: "User unauthorized error message";
            description: "Placeholders: {user}, {exportApi}";
            type: string;
            control: FormControl<string>;
        };
        'two-factor-authentication.token.sms.template': {
            formId: string;
            title: "Verification token SMS template";
            description: "Placeholder: {token} - created token";
            type: string;
            placeholder: "e.g.: Verification code: {token}";
            control: FormControl<string>;
        };
        'system.support.url': {
            formId: string;
            title: "URL";
            type: string;
            description: "Possible values: URL string, \"false`KEEP_ORIGINAL`\" (hides the link) or leave empty (uses the default). Applications can override this setting by defining \"supportUrl`KEEP_ORIGINAL`\" application option.";
            control: FormControl<string>;
        };
        'storageLimit.warning.email.subject': {
            formId: string;
            title: "Warning email subject";
            description: "Email which will be sent one day before data is deleted";
            type: string;
            control: FormControl<string>;
        };
        'storageLimit.warning.email.template': {
            formId: string;
            title: "Warning email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        };
        'storageLimit.process.email.subject': {
            formId: string;
            title: "Limit exceeded email subject";
            description: "Email which will be sent after over-limit data has been deleted";
            type: string;
            control: FormControl<string>;
        };
        'storageLimit.process.email.template': {
            formId: string;
            title: "Limit exceeded email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        };
        'tenantSuspend.mail.sendtosuspended': {
            formId: string;
            title: "Send email to suspended tenant's administrator";
            type: string;
            control: FormControl<string>;
        };
        'tenantSuspend.mail.additional.address': {
            formId: string;
            title: "Tenant suspended email additional receiver";
            type: string;
            control: FormControl<string>;
        };
        'tenantSuspend.mail.subject': {
            formId: string;
            title: "Tenant suspended email subject";
            description: "Placeholder: {tenant} - suspended tenant's ID; {tenant-domain} - tenant's domain";
            type: string;
            control: FormControl<string>;
        };
        'tenantSuspend.mail.text': {
            formId: string;
            title: "Tenant suspended email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        };
        'system.support-user.enabled': {
            formId: string;
            title: "Activate support user";
            description: "Possible values: \"true`KEEP_ORIGINAL`\", \"false`KEEP_ORIGINAL`\", or a specific date until the user should remain active, for example, \"{{ exampleDate }}\". Leaving it blank, will set the value to \"true`KEEP_ORIGINAL`\".";
            descriptionTranslateParams: {
                exampleDate: any;
            };
            type: string;
            control: FormControl<string>;
            placeholder: any;
        };
        'system.support-user.validity-limit': {
            formId: string;
            title: "Validity limit";
            description: "Each support user request from subtenant user will prolong support user access by the given number of hours (default: 24 hours). Leaving it blank, will set the value to \"24\".";
            type: string;
            placeholder: string;
            placeholderParams: {
                example: string;
            };
            control: FormControl<string>;
        };
    };
    optionsGroups: ({
        title: "Passwords";
        id: string;
        items: ({
            formId: string;
            title: "Enforce \"green\" passwords for all users";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Password validity limit (days)";
            description: "The number of days a password may be valid before it must be reset; minimum value is 0, maximum value is 999999. Leave empty to use the value from the tenant options.";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Password history size";
            description: "The number of times before the current password can be reused. Minimum value is 0, preset value is 10.";
            type: string;
            placeholder: string;
            placeholderParams: {
                example: string;
            };
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Minimal length of \"green\" password";
            description: "The minimum number of characters which are required for a safe password. Minimum (and preset) value is 8, maximum value is 32. Leave empty to skip this constraint.";
            type: string;
            control: FormControl<string>;
        })[];
    } | {
        title: "Two-factor authentication";
        id: string;
        items: {
            formId: string;
            title: "Verification token SMS template";
            description: "Placeholder: {token} - created token";
            type: string;
            placeholder: "e.g.: Verification code: {token}";
            control: FormControl<string>;
        }[];
    } | {
        title: "Support link";
        id: string;
        items: {
            formId: string;
            title: "URL";
            type: string;
            description: "Possible values: URL string, \"false`KEEP_ORIGINAL`\" (hides the link) or leave empty (uses the default). Applications can override this setting by defining \"supportUrl`KEEP_ORIGINAL`\" application option.";
            control: FormControl<string>;
        }[];
    } | {
        title: "Password reset";
        id: string;
        items: ({
            formId: string;
            title: "Send notifications to unknown email addresses";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Email subject";
            description: "Subject used for all password reset related emails";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Password reset email template (when address is known)";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        } | {
            formId: string;
            title: "Password reset email template (when address is not known)";
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        } | {
            formId: string;
            title: "Password change confirmation email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        } | {
            formId: string;
            title: "Invitation email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        })[];
    } | {
        title: "Support user";
        id: string;
        items: ({
            formId: string;
            title: "Activate support user";
            description: "Possible values: \"true`KEEP_ORIGINAL`\", \"false`KEEP_ORIGINAL`\", or a specific date until the user should remain active, for example, \"{{ exampleDate }}\". Leaving it blank, will set the value to \"true`KEEP_ORIGINAL`\".";
            descriptionTranslateParams: {
                exampleDate: any;
            };
            type: string;
            control: FormControl<string>;
            placeholder: any;
        } | {
            formId: string;
            title: "Validity limit";
            description: "Each support user request from subtenant user will prolong support user access by the given number of hours (default: 24 hours). Leaving it blank, will set the value to \"24\".";
            type: string;
            placeholder: string;
            placeholderParams: {
                example: string;
            };
            control: FormControl<string>;
        })[];
    } | {
        title: "Email server";
        id: string;
        items: ({
            formId: string;
            title: "Protocol and encryption";
            type: string;
            options: ({
                value: string;
                name: "SMTP (no encryption)";
            } | {
                value: string;
                name: "SMTP (STARTTLS)";
            } | {
                value: string;
                name: "SMTPS (SSL/TLS)";
            })[];
            skipOnSave: boolean;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Host";
            type: string;
            placeholder: string;
            placeholderParams: {
                example: string;
            };
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Port";
            type: string;
            placeholder: string;
            placeholderParams: {
                example: string;
            };
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Username";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Password";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Sender address";
            type: string;
            control: FormControl<string>;
        })[];
    } | {
        title: "Data export";
        id: string;
        items: ({
            formId: string;
            title: "Email subject";
            description: "Placeholders: {tenant-domain}, {host}, {binaryId}. Whole link to result file is: {tenant-domain}/inventory/binaries/{binaryId}";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        } | {
            formId: string;
            title: "User unauthorized error message";
            description: "Placeholders: {user}, {exportApi}";
            type: string;
            control: FormControl<string>;
        })[];
    } | {
        title: "Storage limit";
        id: string;
        items: ({
            formId: string;
            title: "Warning email subject";
            description: "Email which will be sent one day before data is deleted";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Warning email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        } | {
            formId: string;
            title: "Limit exceeded email subject";
            description: "Email which will be sent after over-limit data has been deleted";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Limit exceeded email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        })[];
    } | {
        title: "Suspending tenants";
        id: string;
        items: ({
            formId: string;
            title: "Send email to suspended tenant's administrator";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Tenant suspended email additional receiver";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Tenant suspended email subject";
            description: "Placeholder: {tenant} - suspended tenant's ID; {tenant-domain} - tenant's domain";
            type: string;
            control: FormControl<string>;
        } | {
            formId: string;
            title: "Tenant suspended email template";
            description: string;
            type: string;
            control: FormControl<string>;
            lineBreakHint: boolean;
        })[];
    })[];
    constructor(c8yDatePipe: DatePipe);
    static ɵfac: i0.ɵɵFactoryDeclaration<PlatformConfigurationFormProviderService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<PlatformConfigurationFormProviderService>;
}
//# sourceMappingURL=platform-configuration-form-provider.service.d.ts.map