import { type Entity } from '@graphprotocol/hypergraph';
import type * as Schema from 'effect/Schema';
type GraphqlFilterEntry = {
    values: {
        some: {
            propertyId: {
                is: string;
            };
            string: {
                is: string;
            } | {
                startsWith: string;
            } | {
                endsWith: string;
            } | {
                includes: string;
            };
        } | {
            propertyId: {
                is: string;
            };
            boolean: {
                is: boolean;
            };
        } | {
            propertyId: {
                is: string;
            };
            number: {
                is: string;
            } | {
                greaterThan: string;
            } | {
                lessThan: string;
            };
        };
    };
} | {
    not: GraphqlFilterEntry;
} | {
    or: GraphqlFilterEntry[];
} | {
    and: GraphqlFilterEntry[];
} | {
    relations: {
        some: {
            typeId: {
                is: string;
            };
        };
    };
} | {
    id: {
        is: string;
    };
} | {
    [k: string]: never;
};
/**
 * Translates internal filter format to GraphQL filter format
 * Maps the internal EntityFieldFilter structure to the expected GraphQL filter structure
 */
export declare function translateFilterToGraphql<S extends Schema.Schema.AnyNoContext>(filter: {
    [K in keyof Schema.Schema.Type<S>]?: Entity.EntityFieldFilter<Schema.Schema.Type<S>[K]>;
} | undefined, type: S): GraphqlFilterEntry;
export {};
//# sourceMappingURL=translate-filter-to-graphql.d.ts.map