import type { ExtractStrict } from 'type-fest';
import type { SalesChannel } from '../../components/BusinessLines/fields/SalesChannels/types';
import type { EndpointFromPaths } from '../types';
import type { components, paths } from './pci.contract';
export type PciEndpoint = EndpointFromPaths<keyof paths>;
export type PciQuestionnaireResponse = components['schemas']['PciQuestionnaireResponse'];
export type PciQuestionnaireListEndpoint = ExtractStrict<PciEndpoint, `legalEntities/${string}/pci/questionnaires`>;
export type PciQuestionnaireListResponse = components['schemas']['PciQuestionnairesResponse'];
export type PciStatusEndpoint = ExtractStrict<PciEndpoint, `legalEntities/${string}/pci/signingRequired`>;
export type PciStatusResponse = components['schemas']['PciSigningStatusResponse'];
export type PciStatusRequest = Omit<components['schemas']['PciSigningStatusRequest'], 'additionalSalesChannels'> & {
    additionalSalesChannels?: SalesChannel[];
};
export type PciTemplateEndpoint = ExtractStrict<PciEndpoint, `legalEntities/${string}/pci/generatePciTemplates`>;
export type PciTemplateResponse = Required<components['schemas']['GeneratePciDescriptionResponse']>;
export type PciTemplateRequest = Omit<components['schemas']['GeneratePciDescriptionRequest'], 'additionalSalesChannels'> & {
    additionalSalesChannels?: SalesChannel[];
};
