import { DatasourceConfiguration } from '../datasource/index.js';
import { ResourceMetadata } from '../metadata/index.js';
import { IntegrationKind } from '../plugin/index.js';
import { ActionTypeEnum, CreatorDto } from '../rbac/index.js';
export declare class IntegrationConfigurationDto {
    id: string;
    created: Date;
    integrationId: string;
    configuration: Record<string, any>;
    isDefault: boolean;
    profileIds?: string[];
    profileNames?: string[];
    constructor({ id, created, integrationId, configuration, isDefault, profileIds, profileNames }: {
        id: string;
        created: Date;
        integrationId: string;
        configuration: DatasourceConfiguration;
        isDefault: boolean;
        profileIds?: string[];
        profileNames?: string[];
    });
}
export declare class IntegrationConfigurationDtoProtobuf {
    id: string;
    created: Date;
    integrationId: string;
    configuration: Record<string, any>;
    isDefault: boolean;
    profileIds?: string[];
    constructor({ id, created, integrationId, configuration, isDefault, profileIds }: {
        id: string;
        created: Date;
        integrationId: string;
        configuration: Record<string, any>;
        isDefault: boolean;
        profileIds?: string[];
    });
}
declare class IntegrationBaseDto {
    id: string;
    name: string;
    pluginId: string;
    organizationId: string;
    applicationId?: string | null;
    isUserConfigured: boolean;
    demoIntegrationId?: string;
}
export declare class SupersetIntegrationDto extends IntegrationBaseDto {
    kind: IntegrationKind;
    created?: Date;
    updated?: Date;
    configurations: IntegrationConfigurationDto[];
    slug?: string;
    ownerEmail?: string;
    readOnly: boolean;
    editable: boolean;
    metadata: ResourceMetadata;
    permissions?: ActionTypeEnum[];
    creator?: CreatorDto;
    enabledForV2?: boolean;
    constructor({ id, created, updated, deactivated, name, pluginId, kind, organizationId, configurations, demoIntegrationId, isUserConfigured, ownerEmail, slug, readOnly, editable, permissions, creator, enabledForV2, applicationId }: {
        id: string;
        created: Date;
        updated: Date;
        deactivated: Date | null;
        name: string;
        pluginId: string;
        kind: IntegrationKind;
        organizationId: string;
        configurations: IntegrationConfigurationDto[];
        demoIntegrationId?: string;
        isUserConfigured: boolean;
        ownerEmail?: string;
        slug?: string;
        readOnly: boolean;
        editable: boolean;
        permissions?: ActionTypeEnum[];
        creator?: CreatorDto;
        enabledForV2?: boolean;
        applicationId?: string | null;
    });
}
export declare class IntegrationDto extends IntegrationBaseDto {
    kind: IntegrationKind;
    created: Date;
    updated: Date;
    configurations: IntegrationConfigurationDto[];
    slug?: string;
    ownerEmail?: string;
    creator?: CreatorDto;
    enabledForV2?: boolean;
    constructor({ id, created, updated, name, pluginId, organizationId, configurations, demoIntegrationId, isUserConfigured, ownerEmail, creator, kind, slug, enabledForV2, applicationId }: {
        id: string;
        created: Date;
        updated: Date;
        name: string;
        pluginId: string;
        organizationId: string;
        configurations: IntegrationConfigurationDto[];
        demoIntegrationId?: string;
        isUserConfigured: boolean;
        ownerEmail?: string;
        creator?: CreatorDto;
        kind: IntegrationKind;
        slug?: string;
        enabledForV2?: boolean;
        applicationId?: string | null;
    });
}
export {};
//# sourceMappingURL=index.d.ts.map