import type { EntityBase } from '../entity-base';
import type { DeSerializers } from '../de-serializers';
import type { Filterable } from './filterable';
type UnaryFilterOperator = 'not';
/**
 * Class representing a unary filter which is a filter containing just a single argument e.g. not.
 */
export declare class UnaryFilter<EntityT extends EntityBase, DeSerializersT extends DeSerializers> {
    singleOperand: Filterable<EntityT, DeSerializersT>;
    operator: UnaryFilterOperator;
    constructor(singleOperand: Filterable<EntityT, DeSerializersT>, operator: UnaryFilterOperator);
}
/**
 * Type guard for the UnaryFilter object.
 * @param filterable - Variable to be checked
 * @returns boolean
 * @internal
 */
export declare function isUnaryFilter<EntityT extends EntityBase, DeSerializersT extends DeSerializers>(filterable: Filterable<EntityT, DeSerializersT>): filterable is UnaryFilter<EntityT, DeSerializersT>;
export {};
