import { DataSourceCustomEvents, EntityInterfaceConfiguration, FieldConfiguration, RequiredField, SubscriptionFilterCondition, TypeField } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
import { ConfigurationData, FieldConfiguration as CompositionFieldConfiguration, RequiredFieldConfiguration, SubscriptionCondition, TypeName } from '@wundergraph/composition';
export type DataSourceConfiguration = {
    rootNodes: TypeField[];
    childNodes: TypeField[];
    provides: RequiredField[];
    events: DataSourceCustomEvents;
    keys: RequiredField[];
    requires: RequiredField[];
    entityInterfaces: EntityInterfaceConfiguration[];
    interfaceObjects: EntityInterfaceConfiguration[];
};
export declare function addRequiredFields(requiredFields: Array<RequiredFieldConfiguration> | undefined, target: Array<RequiredField>, typeName: string): void;
export declare function configurationDatasToDataSourceConfiguration(dataByTypeName: Map<TypeName, ConfigurationData>): DataSourceConfiguration;
export declare function generateFieldConfigurations(fieldConfigurations: Array<CompositionFieldConfiguration>): Array<FieldConfiguration>;
export declare function generateSubscriptionFilterCondition(protoMessage: SubscriptionFilterCondition, condition: SubscriptionCondition): void;
