import { Picker } from 'alinea/core';
import { Hint } from 'alinea/core/Hint';
import { Label } from 'alinea/core/Label';
import { Reference } from 'alinea/core/Reference';
import { Type } from 'alinea/core/Type';
import { Expr } from 'alinea/core/pages/Expr';
import { Projection } from 'alinea/core/pages/Projection';
export declare const entryFields: {
    title: Expr<string>;
    entryType: Expr<string>;
    url: Expr<string>;
    path: Expr<string>;
};
export declare const fileFields: {
    title: Expr<string>;
    url: import("../../input/hidden.js").HiddenField<string>;
    extension: import("../../input/hidden.js").HiddenField<string>;
    size: import("../../input/hidden.js").HiddenField<number>;
};
export declare const imageFields: {
    title: Expr<string>;
    src: import("../../input/hidden.js").HiddenField<string>;
    extension: import("../../input/hidden.js").HiddenField<string>;
    size: import("../../input/hidden.js").HiddenField<number>;
    hash: import("../../input/hidden.js").HiddenField<string>;
    width: import("../../input/hidden.js").HiddenField<number>;
    height: import("../../input/hidden.js").HiddenField<number>;
    averageColor: import("../../input/hidden.js").HiddenField<string>;
    thumbHash: import("../../input/hidden.js").HiddenField<string>;
    focus: import("../../input/hidden.js").HiddenField<{
        x: number;
        y: number;
    }>;
};
export interface EntryPickerOptions<T = {}> {
    hint: Hint;
    selection: Projection;
    defaultView?: 'row' | 'thumb';
    condition?: Expr<boolean>;
    withNavigation?: boolean;
    showMedia?: boolean;
    max?: number;
    label?: string;
    title?: Label;
    fields?: Type<T>;
}
export declare function entryPicker<Ref extends Reference, Fields>(options: EntryPickerOptions<Fields>): Picker<Ref & Type.Infer<Fields>, EntryPickerOptions<Fields>>;
