import type { CompoundKey } from '../../../zero-protocol/src/ast.ts';
import { type Change } from './change.ts';
import { type Node } from './data.ts';
import { type FilterInput, type FilterOperator, type FilterOutput } from './filter-operators.ts';
import { type Storage } from './operator.ts';
import type { SourceSchema } from './schema.ts';
/**
 * The Exists operator filters data based on whether or not a relationship is
 * non-empty.
 */
export declare class Exists implements FilterOperator {
    #private;
    constructor(input: FilterInput, storage: Storage, relationshipName: string, parentJoinKey: CompoundKey, type: 'EXISTS' | 'NOT EXISTS');
    setFilterOutput(output: FilterOutput): void;
    filter(node: Node, cleanup: boolean): boolean;
    destroy(): void;
    getSchema(): SourceSchema;
    push(change: Change): void;
}
//# sourceMappingURL=exists.d.ts.map