import { DocumentNode, GraphQLSchema, TypeInfo } from 'graphql';
/**
 * Normalize a operation document.
 */
export declare function normalizeOperation({ document, operationName, hideLiterals, removeAliases, }: {
    document: DocumentNode;
    hideLiterals?: boolean;
    removeAliases?: boolean;
    operationName?: string;
}): string;
/** normalize a graphql operation into a stable hash as used internally within our ClickHouse Database. */
export declare function preprocessOperation(operation: {
    document: DocumentNode;
    schemaCoordinates: Iterable<string>;
    operationName: string | null;
}): {
    type: import("graphql").OperationTypeNode;
    hash: string;
    body: string;
    coordinates: string[];
    name: string | null;
} | null;
/**
 * Hash a executable GraphQL document according to Hive platforms algorithm
 * for identification.
 *
 * Return null if no executable operation definition was found.
 */
export declare function hashOperation(args: {
    documentNode: DocumentNode;
    variables: null | {
        [key: string]: unknown;
    };
    operationName: string | null;
    schema: GraphQLSchema;
    typeInfo?: TypeInfo;
}): string | null;
//# sourceMappingURL=operation.d.ts.map