import { ProtocolConfiguration } from '../engine/protocol/ProtocolConfiguration';
import { Mutation, Subscription, Entity, Action, ViewEntity } from '..';
import { ShadowEntity } from '../engine/entity/ShadowEntity';
export declare class ProtocolGraphQLConfiguration extends ProtocolConfiguration {
    constructor();
    getMaxPageSize(): number;
    generateEntityTypeName(entity: Entity | ViewEntity | ShadowEntity): string;
    generateEntityTypeNamePlural(entity: Entity | ViewEntity | ShadowEntity): string;
    generateEntityTypeNamePascalCase(entity: Entity | ViewEntity | ShadowEntity): string;
    generateEntityTypeNamePluralPascalCase(entity: Entity | ViewEntity | ShadowEntity): string;
    generateReverseConnectionFieldName(sourceEntity: Entity | ViewEntity | ShadowEntity, sourceAttributeName: any): string;
    generateReferenceFieldName(referenceEntity: Entity | ViewEntity | ShadowEntity, attribute: any): string;
    generateReferenceFieldListName(referenceEntity: any, attribute: any): string;
    generateFieldName(attribute: any): string;
    generateI18nJsonFieldName(attribute: any): string;
    generateI18nFieldName(attribute: any): string;
    generateI18nFieldTypeName(entity: Entity | ViewEntity, attribute: any): any;
    generateListQueryTypeName(entity: Entity | ViewEntity): string;
    generateInstanceQueryTypeName(entity: Entity | ViewEntity): string;
    generateInstanceByUniqueQueryTypeName(entity: Entity | ViewEntity, attribute: any): string;
    generateUniquenessAttributesName(_entity: Entity | ViewEntity, attributes: any): string;
    generateUniquenessAttributesFieldName(_entity: Entity | ViewEntity, attribute: any, uniquenessAttributesName: string): string;
    generateInstanceUniquenessInputTypeName(entity: Entity | ViewEntity, uniquenessAttributesName: any): string;
    generateActionTypeName(action: Action): string;
    generateDataInputTypeName(baseName: string): string;
    generateNestedDataInputTypeName(baseName: string, nestedParamName: string, level: number): string;
    generateInputTypeName(baseName: string): string;
    generateDataOutPutTypeName(baseName: string): string;
    generateNestedDataOutPutTypeName(baseName: string, nestedParamName: string, level?: number): string;
    generateOutPutTypeName(baseName: string): string;
    generateSortKeyName(attribute: any, ascending?: boolean): string;
    generateSortInputTypeName(entity: Entity | ViewEntity): string;
    generateFilterInputTypeName(entity: Entity | ViewEntity): string;
    generateFilterPreFilterInputTypeName(entity: Entity | ViewEntity): string;
    generateFilterPreFilterParamsInputTypeName(entity: Entity | ViewEntity, preFilter: any): string;
    generateConnectionEdgeTypeName(entity: Entity | ViewEntity): string;
    generateConnectionTypeName(entity: Entity | ViewEntity): string;
    generateOperationI18nAttributeInputTypeName(entity: Entity | any, operation: Mutation | Subscription | any, attribute: any): string;
    generateOperationInstanceInputTypeName(entity: Entity, operation: Mutation | Subscription): string;
    generateOperationInputTypeName(entity: Entity, operation: Mutation | Subscription): string;
    generateOperationByPrimaryAttributeInputTypeName(entity: Entity, operation: Mutation | Subscription, attribute: any): string;
    generateOperationInstanceNestedInputTypeName(entity: Entity, operation: Mutation | Subscription): string;
    generateOperationNestedInputTypeName(entity: Entity, operation: Mutation | Subscription): string;
    generateOperationOutputTypeName(entity: Entity, operation: Mutation | Subscription): string;
    generateOperationTypeName(entity: Entity, operation: Mutation | Subscription): string;
    generateOperationNestedTypeName(entity: Entity, operation: Mutation | Subscription): string;
    generateOperationByPrimaryAttributeTypeName(entity: Entity, operation: Mutation | Subscription, attribute: any): string;
}
export declare const isProtocolGraphQLConfiguration: (obj: any) => obj is ProtocolGraphQLConfiguration;
