import { Response } from 'express';
import { ConfirmImportDTO } from './dto/confirm-import.dto';
import { CreateDTO } from './dto/create.dto';
import { DeleteDTO } from './dto/delete.dto';
import { ExportDto } from './dto/export.dto';
import { SettingUserDTO } from './dto/setting-user.dto';
import { SettingDTO } from './dto/setting.dto';
import { UpdateSettingListDTO } from './dto/update-setting-list.dto';
import { UpdateDTO } from './dto/update.dto';
import { SettingService } from './setting.service';
export declare class SettingsController {
    private readonly settingService;
    constructor(settingService: SettingService);
    exportSettings({ secrets }: ExportDto, res: Response): Promise<void>;
    initialSettings(): Promise<any>;
    getSettingFromGroup(paginationParams: any, locale: any, slug: string, { id: userId }: {
        id: any;
    }): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    listSettingGroups(paginationParams: any, locale: any): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    getUserSettings({ id }: {
        id: any;
    }): Promise<({
        setting: {
            slug: string;
        };
    } & {
        id: number;
        value: string | null;
        user_id: number;
        created_at: Date;
        updated_at: Date;
        setting_id: number;
    })[]>;
    getEffectiveSettings({ id }: {
        id: any;
    }): Promise<any>;
    listSettings(paginationParams: any, locale: any): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    get(settingId: number): Promise<{
        type: import("@prisma/client").$Enums.setting_type_0f055cd5ea_enum;
        id: number;
        value: string | null;
        created_at: Date;
        updated_at: Date;
        slug: string;
        group_id: number;
        component: import("@prisma/client").$Enums.setting_component_6e72a03bda_enum;
        user_override: boolean;
        subgroup_id: number | null;
    }>;
    importSettings(locale: string, file: MulterFile): Promise<{
        totalSettings: number;
        validSettings: number;
        invalidSlugs: any[];
        validSlugs: any[];
        fileData: any[];
    }>;
    confirmImport(data: ConfirmImportDTO): Promise<{
        success: boolean;
        updatedCount: number;
    }>;
    create(locale: string, data: CreateDTO): Promise<{
        type: import("@prisma/client").$Enums.setting_type_0f055cd5ea_enum;
        id: number;
        value: string | null;
        created_at: Date;
        updated_at: Date;
        slug: string;
        group_id: number;
        component: import("@prisma/client").$Enums.setting_component_6e72a03bda_enum;
        user_override: boolean;
        subgroup_id: number | null;
    }>;
    updateUserFromSlug(slug: string, { value }: SettingUserDTO, { id }: {
        id: any;
    }, locale: any): Promise<{
        value: string;
        user_id: number;
        setting_id: number;
    }>;
    updateFromSlug(slug: string, data: UpdateDTO): Promise<{
        type: import("@prisma/client").$Enums.setting_type_0f055cd5ea_enum;
        id: number;
        value: string | null;
        created_at: Date;
        updated_at: Date;
        slug: string;
        group_id: number;
        component: import("@prisma/client").$Enums.setting_component_6e72a03bda_enum;
        user_override: boolean;
        subgroup_id: number | null;
    }>;
    updateSettingListOptions(settingId: number, data: UpdateSettingListDTO): Promise<{
        setting_list: {
            id: number;
            order: number;
            value: string;
        }[];
    } & {
        type: import("@prisma/client").$Enums.setting_type_0f055cd5ea_enum;
        id: number;
        value: string | null;
        created_at: Date;
        updated_at: Date;
        slug: string;
        group_id: number;
        component: import("@prisma/client").$Enums.setting_component_6e72a03bda_enum;
        user_override: boolean;
        subgroup_id: number | null;
    }>;
    setManySettings(data: SettingDTO): Promise<{
        success: boolean;
    }>;
    update(settingId: number, data: UpdateDTO): Promise<{
        type: import("@prisma/client").$Enums.setting_type_0f055cd5ea_enum;
        id: number;
        value: string | null;
        created_at: Date;
        updated_at: Date;
        slug: string;
        group_id: number;
        component: import("@prisma/client").$Enums.setting_component_6e72a03bda_enum;
        user_override: boolean;
        subgroup_id: number | null;
    }>;
    delete(locale: string, data: DeleteDTO): Promise<import("@prisma/client").Prisma.BatchPayload>;
}
//# sourceMappingURL=setting.controller.d.ts.map