import { DeleteDTO } from '@hed-hog/api';
import { Response } from 'express';
import { CreateDTO } from './dto/create.dto';
import { ExportDTO } from './dto/export.dto';
import { ImportConfirmDTO } from './dto/import-confirm.dto';
import { UpdateDTO } from './dto/update.dto';
import { IntegrationProfileService } from './integration-profile.service';
export declare class IntegrationProfileController {
    private readonly integrationProfileService;
    constructor(integrationProfileService: IntegrationProfileService);
    listTypes(): Promise<{
        id: number;
        icon: string;
        slug: string;
        integration_type_locale: {
            name: string;
            locale: {
                code: string;
            };
        }[];
    }[]>;
    listProviders(typeId?: string, typeSlug?: string): Promise<{
        id: number;
        slug: string;
        type_id: number;
        integration_provider_locale: {
            name: string;
            locale: {
                code: string;
            };
        }[];
    }[]>;
    list(paginationParams: any, typeId?: string, typeSlug?: string, providerSlug?: string): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    export({ ids, include_secrets }: ExportDTO, res: Response): Promise<void>;
    get(id: number): Promise<{
        integration_provider: {
            slug: string;
            integration_provider_locale: {
                name: string;
                locale: {
                    code: string;
                };
            }[];
        };
        integration_type: {
            icon: string;
            slug: string;
            integration_type_locale: {
                name: string;
                locale: {
                    code: string;
                };
            }[];
        };
    } & {
        name: string;
        id: number;
        created_at: Date;
        updated_at: Date;
        slug: string;
        is_active: boolean;
        provider_id: number;
        type_id: number;
        config: import("@prisma/client/runtime/library").JsonValue | null;
    }>;
    create(data: CreateDTO): Promise<{
        name: string;
        id: number;
        created_at: Date;
        updated_at: Date;
        slug: string;
        is_active: boolean;
        provider_id: number;
        type_id: number;
        config: import("@prisma/client/runtime/library").JsonValue | null;
    }>;
    test(data: CreateDTO): Promise<{
        success: boolean;
        destination: string;
    }>;
    update(id: number, data: UpdateDTO): Promise<{
        name: string;
        id: number;
        created_at: Date;
        updated_at: Date;
        slug: string;
        is_active: boolean;
        provider_id: number;
        type_id: number;
        config: import("@prisma/client/runtime/library").JsonValue | null;
    }>;
    delete(data: DeleteDTO): Promise<{
        count: number;
    }>;
    validateImport(file: MulterFile): Promise<{
        format: {
            type: "integration-profile";
            version: 1;
            generated_at: string;
            include_secrets: boolean;
        };
        total_profiles: number;
        valid_profiles: number;
        invalid_profiles: number;
        conflict_profiles: number;
        importable_profiles: number;
        conflict_slugs: string[];
        profiles: {
            index: number;
            slug: string;
            name: string;
            type_slug: string;
            provider_slug: string;
            config: Record<string, unknown> | null;
            is_active: boolean;
            has_conflict: boolean;
        }[];
        invalid_items: {
            index: number;
            slug?: string;
            errors: string[];
        }[];
    }>;
    confirmImport(data: ImportConfirmDTO): Promise<{
        success: boolean;
        total_received: number;
        created: number;
        replaced: number;
        renamed: number;
        ignored: number;
        imported: number;
    }>;
}
//# sourceMappingURL=integration-profile.controller.d.ts.map