import type { CustomersPresence } from './CustomersPresence';
import type { PaymentPrimaryRiskTaker } from './PaymentPrimaryRiskTaker';
import type { PaymentProcessor } from './PaymentProcessor';
import type { PaymentMethod } from './PaymentMethod';
import type { DataCollectionType } from './DataCollectionType';
import type { PaymentConnectorFeature } from './PaymentConnectorFeature';
import type { PaymentMethodBrand } from './PaymentMethodBrand';
/**
 *
 * @export
 * @interface PaymentConnector
 */
export interface PaymentConnector {
    /**
     * The features that are supported by the connector.
     * @type {Set<PaymentConnectorFeature>}
     * @memberof PaymentConnector
     */
    readonly supportedFeatures?: Set<PaymentConnectorFeature>;
    /**
     * The types of customer's presence that are supported by the connector.
     * @type {Set<CustomersPresence>}
     * @memberof PaymentConnector
     */
    readonly supportedCustomersPresences?: Set<CustomersPresence>;
    /**
     *
     * @type {DataCollectionType}
     * @memberof PaymentConnector
     */
    dataCollectionType?: DataCollectionType;
    /**
     * Whether the object was deprecated.
     * @type {boolean}
     * @memberof PaymentConnector
     */
    readonly deprecated?: boolean;
    /**
     *
     * @type {PaymentPrimaryRiskTaker}
     * @memberof PaymentConnector
     */
    primaryRiskTaker?: PaymentPrimaryRiskTaker;
    /**
     * The localized description of the object.
     * @type {{ [key: string]: string; }}
     * @memberof PaymentConnector
     */
    readonly description?: {
        [key: string]: string;
    };
    /**
     *
     * @type {PaymentMethodBrand}
     * @memberof PaymentConnector
     */
    paymentMethodBrand?: PaymentMethodBrand;
    /**
     *
     * @type {PaymentProcessor}
     * @memberof PaymentConnector
     */
    processor?: PaymentProcessor;
    /**
     * The deprecation reason describes why the object was deprecated.
     * @type {{ [key: string]: string; }}
     * @memberof PaymentConnector
     */
    readonly deprecationReason?: {
        [key: string]: string;
    };
    /**
     * The currencies that are supported by the connector.
     * @type {Set<string>}
     * @memberof PaymentConnector
     */
    readonly supportedCurrencies?: Set<string>;
    /**
     * The localized name of the object.
     * @type {{ [key: string]: string; }}
     * @memberof PaymentConnector
     */
    readonly name?: {
        [key: string]: string;
    };
    /**
     *
     * @type {PaymentMethod}
     * @memberof PaymentConnector
     */
    paymentMethod?: PaymentMethod;
    /**
     * A unique identifier for the object.
     * @type {number}
     * @memberof PaymentConnector
     */
    readonly id?: number;
}
/**
 * Check if a given object implements the PaymentConnector interface.
 */
export declare function instanceOfPaymentConnector(value: object): value is PaymentConnector;
export declare function PaymentConnectorFromJSON(json: any): PaymentConnector;
export declare function PaymentConnectorFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaymentConnector;
export declare function PaymentConnectorToJSON(json: any): PaymentConnector;
export declare function PaymentConnectorToJSONTyped(value?: Omit<PaymentConnector, 'supportedFeatures' | 'supportedCustomersPresences' | 'deprecated' | 'description' | 'deprecationReason' | 'supportedCurrencies' | 'name' | 'id'> | null, ignoreDiscriminator?: boolean): any;
