import type Cypher from "@neo4j/cypher-builder";
import type { AuthorizationAnnotation, AuthorizationOperation, ValidateWhen } from "../../../schema-model/annotation/AuthorizationAnnotation";
import type { AttributeAdapter } from "../../../schema-model/attribute/model-adapters/AttributeAdapter";
import type { ConcreteEntityAdapter } from "../../../schema-model/entity/model-adapters/ConcreteEntityAdapter";
import type { Neo4jGraphQLTranslationContext } from "../../../types/neo4j-graphql-translation-context";
import { AuthorizationFiltersDeprecated } from "../ast/filters/authorization-filters/AuthorizationFiltersDeprecated";
import type { AuthFilterFactory } from "./AuthFilterFactory";
type AuthParams = {
    entity: ConcreteEntityAdapter;
    operations: AuthorizationOperation[];
    context: Neo4jGraphQLTranslationContext;
};
type AuthFilterParams = AuthParams & {
    authAnnotation: AuthorizationAnnotation | undefined;
};
type AuthValidateParams = AuthParams & {
    when: ValidateWhen;
    conditionForEvaluation?: Cypher.Predicate;
    authAnnotation: AuthorizationAnnotation | undefined;
};
/**
 * @deprecated This class is deprecated and superseded by `AuthorizationFactory`, this is to due to kept compatibility with the old `AuthorizationFilters` class, still used by the legacy translation code.
 **/
export declare class AuthorizationFactoryDeprecated {
    private filterFactory;
    constructor(filterFactory: AuthFilterFactory);
    getAuthFilters({ attributes, ...params }: AuthParams & {
        attributes?: AttributeAdapter[];
    }): AuthorizationFiltersDeprecated[];
    createAuthFilterRule({ authAnnotation, ...params }: AuthFilterParams): AuthorizationFiltersDeprecated | undefined;
    createAuthValidateRule({ authAnnotation, when, conditionForEvaluation, ...params }: AuthValidateParams): AuthorizationFiltersDeprecated | undefined;
    private createAuthRuleFilter;
}
export {};
//# sourceMappingURL=AuthorizationFactoryDeprecated.d.ts.map