import type { BaseField, Collection, CollectionFile, CollectionFileWithDefaults, CollectionWithDefaults, CollectionsWithDefaults, Config, ConfigWithDefaults, Entry, Field, InferredField, SortableField } from '@staticcms/core';
import type { InferrableField } from '@staticcms/core/constants/fieldInference';
export declare function fileForEntry<EF extends BaseField>(collection: CollectionWithDefaults<EF> | undefined | null, slug?: string): CollectionFileWithDefaults<EF> | undefined;
export declare function selectFolderEntryExtension<EF extends BaseField>(collection: CollectionWithDefaults<EF>): string;
export declare function selectFileEntryLabel<EF extends BaseField>(collection: CollectionWithDefaults<EF>, slug: string): string | undefined;
export declare function selectEntryPath<EF extends BaseField>(collection: CollectionWithDefaults<EF>, slug: string): string | undefined;
export declare function selectEntrySlug<EF extends BaseField>(collection: CollectionWithDefaults<EF>, path: string): string | undefined;
export declare function selectAllowNewEntries<EF extends BaseField>(collection: CollectionWithDefaults<EF>): boolean;
export declare function selectAllowDeletion<EF extends BaseField>(collection: CollectionWithDefaults<EF>): boolean;
export declare function selectTemplateName<EF extends BaseField>(collection: CollectionWithDefaults<EF>, slug: string): string;
export declare function selectEntryCollectionTitle<EF extends BaseField>(collection: CollectionWithDefaults<EF> | undefined, entry: Entry): string;
export declare function selectDefaultSortableFields<EF extends BaseField>(collection: CollectionWithDefaults<EF>, config: Config<EF>): string[];
export declare function getSortableFields(collection: CollectionWithDefaults | undefined, t: (key: string) => string): SortableField[];
export declare function getViewFilters<EF extends BaseField>(collection?: CollectionWithDefaults<EF>): import("@staticcms/core").ViewFiltersWithDefaults | undefined;
export declare function getViewGroups<EF extends BaseField>(collection?: CollectionWithDefaults<EF>): import("@staticcms/core").ViewGroupsWithDefaults | undefined;
export declare function selectFieldsComments<EF extends BaseField>(collection: CollectionWithDefaults<EF>, entryMap: Entry): Record<string, string>;
export declare function getFileFromSlug<EF extends BaseField>(collection: Collection<EF>, slug: string): CollectionFile<EF> | undefined;
export declare function selectFieldsWithMediaFolders<EF extends BaseField>(collection: CollectionWithDefaults<EF>, slug: string): Field[];
export declare function selectMediaFolders<EF extends BaseField>(config: ConfigWithDefaults<EF>, collection: CollectionWithDefaults<EF>, entry: Entry): string[];
export declare function getFieldsNames<EF extends BaseField>(fields: Field<EF>[] | undefined, prefix?: string): string[];
export declare function traverseFields(fields: Field[], updater: (field: Field) => Field, done?: () => boolean): Field[];
export declare function updateFieldByKey(collection: CollectionWithDefaults, key: string, updater: (field: Field) => Field): CollectionWithDefaults;
export declare function selectIdentifier<EF extends BaseField>(collection: CollectionWithDefaults<EF>): string | undefined;
export declare function selectInferredField<EF extends BaseField>(collection: CollectionWithDefaults<EF> | undefined, fieldName: InferrableField): string | null | undefined;
export declare function getInferredFields(collection: CollectionWithDefaults | undefined): Partial<Record<InferrableField, string>>;
export declare function useInferredFields(collection: CollectionWithDefaults | undefined): Partial<Record<InferrableField, string>>;
export declare function useInferredFieldsByName(collection: CollectionWithDefaults): Record<string, InferredField>;
export declare function getDefaultPath(collections: CollectionsWithDefaults): string;
export declare function getFields<EF extends BaseField>(collection: CollectionWithDefaults<EF> | undefined, slug?: string): Field<EF>[];
