import { type PipeTransform } from '@angular/core';
import type { AbstractBranchSchema, AbstractControlContainerSchema, AbstractControlSchema, SchemaKey, SingleSchemaKey } from '../schemas';
import type { Indexable } from '../types';
import * as i0 from "@angular/core";
/**
 * @internal
 */
export declare class FluentSchemaPipe implements PipeTransform {
    private readonly schemaUtil;
    /**
     * Use value as a key to get the schema from schemas.
     * @param value
     * @param schemas
     * @param type Used to overload the method's return type
     */
    transform(value: SingleSchemaKey | SchemaKey[], schema: Indexable<AbstractBranchSchema>, type: 'control'): AbstractControlSchema | null;
    transform(value: SingleSchemaKey | SchemaKey[], schema: Indexable<AbstractBranchSchema>, type: 'group'): AbstractControlContainerSchema | null;
    transform(value: SingleSchemaKey | SchemaKey[], schema: Indexable<AbstractBranchSchema>, type: 'array'): AbstractControlContainerSchema | null;
    transform(value: SingleSchemaKey | SchemaKey[], schema: Indexable<AbstractBranchSchema>): AbstractControlSchema | AbstractControlContainerSchema | null;
    static ɵfac: i0.ɵɵFactoryDeclaration<FluentSchemaPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<FluentSchemaPipe, "schema", true>;
}
