import { AcceptedFile, FileHandler, ResolvedFileEntity } from './FileHandler';
import { NormalizedDiscriminatedData } from '../../discrimination';
import { EntityAccessor, Environment, OptionallyVariableFieldValue, SugaredFieldProps } from '@contember/binding';
import { ReactElement } from 'react';
import { AcceptFileOptions, FullFileKind } from '../fileKinds';
export declare class DiscriminatedFileHandler implements FileHandler {
    private readonly discriminationField;
    private readonly baseEntity;
    private readonly fileKinds;
    readonly hasBaseEntity: boolean;
    readonly acceptedMimes: string[] | null;
    constructor(discriminationField: SugaredFieldProps['field'], baseEntity: string | undefined, fileKinds: NormalizedDiscriminatedData<FullFileKind<any, any>>);
    acceptFile(fileOptions: AcceptFileOptions): Promise<AcceptedFile | undefined>;
    resolveEntity(parentEntity: EntityAccessor): ResolvedFileEntity;
    staticRender(environment: Environment): ReactElement;
    private resolveFileKind;
    private getContainingEntity;
    static fillDiscriminateBy(entity: EntityAccessor, baseEntity: string | undefined, discriminateBy: OptionallyVariableFieldValue, discriminationField: SugaredFieldProps['field']): void;
}
//# sourceMappingURL=DiscriminatedFileHandler.d.ts.map