import { Registry, RegistryInputItem, RegistryItem } from './Registry';
import { ImageRequireSource } from 'react-native';
export interface FontRegistryItemExtras {
    preload: boolean;
}
export declare type FontValue = ImageRequireSource | string;
export declare type Font = RegistryItem<FontValue> & FontRegistryItemExtras;
export declare type FontInput = RegistryInputItem<FontValue>;
export declare type FontCollection = {
    [key: string]: FontInput;
};
/**
 * 🔠 FontRegistry
 */
export declare class FontRegistry extends Registry<Font, FontInput> {
    load(): Promise<void>;
    /**
     * Convert any input value to an item. This is where you transform inputs and add defualts
     * @param key
     * @param partial
     */
    protected createItem(key: string, partial: any): Font;
    /**
     * Typeguard to check a given object is a registry value
     * @param value
     */
    protected isValue(value: any): value is Font['value'];
    /**
     * Typeguard to check a given object is an input value
     * @param value
     */
    protected isInputValue(value: any): value is FontInput['value'];
}
