import { BaseConfig, CenterPanelContent, CenterPanelOptions, DialogueContent, DialogueOptions, DownloadDialogueContent, DownloadDialogueOptions, FooterPanelContent, FooterPanelOptions, HeaderPanelContent, HeaderPanelOptions, ModuleConfig, SettingsDialogueContent, SettingsDialogueOptions, ShareDialogueContent, ShareDialogueOptions } from "@/content-handlers/iiif/BaseConfig";
import { ContentLeftPanel } from "../../config/ContentLeftPanel";
declare type MultiSelectDialogueOptions = DialogueOptions & {
    /** Determines if chunked resizing is enabled for gallery thumbnails */
    galleryThumbChunkedResizingEnabled: boolean;
    /** Threshold for chunked resizing of gallery thumbnails */
    galleryThumbChunkedResizingThreshold: number;
    /** Height of the gallery thumbnail */
    galleryThumbHeight: number;
    /** Padding for loading gallery thumbnails */
    galleryThumbLoadPadding: number;
    /** Width of the gallery thumbnail */
    galleryThumbWidth: number;
    /** Determines if page mode is enabled */
    pageModeEnabled: boolean;
};
declare type MultiSelectDialogueContent = DialogueContent & {
    select: string;
    selectAll: string;
    title: string;
};
export declare type MultiSelectDialogue = ModuleConfig & {
    options: MultiSelectDialogueOptions;
    content: MultiSelectDialogueContent;
};
declare type PagingHeaderPanelOptions = HeaderPanelOptions & {
    /** Determines if autocomplete for words is allowed */
    autocompleteAllowWords: boolean;
    /** Determines if autocomplete box is enabled */
    autoCompleteBoxEnabled: boolean;
    /** Determines if gallery button is enabled */
    galleryButtonEnabled: boolean;
    /** Determines if help is enabled */
    helpEnabled: boolean;
    /** Determines if image selection box is enabled */
    imageSelectionBoxEnabled: boolean;
    /** Determines if mode options is enabled */
    modeOptionsEnabled: boolean;
    /** Determines if page mode is enabled */
    pageModeEnabled: boolean;
    /** Determines if paging toggle is enabled */
    pagingToggleEnabled: boolean;
};
declare type PagingHeaderPanelContent = HeaderPanelContent & {
    emptyValue: string;
    first: string;
    firstImage: string;
    firstPage: string;
    folio: string;
    gallery: string;
    go: string;
    help: string;
    image: string;
    last: string;
    lastImage: string;
    lastPage: string;
    next: string;
    nextImage: string;
    nextPage: string;
    of: string;
    oneUp: string;
    page: string;
    pageSearchLabel: string;
    previous: string;
    previousImage: string;
    previousPage: string;
    twoUp: string;
};
declare type PagingHeaderPanel = ModuleConfig & {
    options: PagingHeaderPanelOptions;
    content: PagingHeaderPanelContent;
};
declare type OpenSeadragonCenterPanelOptions = CenterPanelOptions & {
    /** Duration of the animation */
    animationTime: number;
    /** Determines if controls are hidden automatically */
    autoHideControls: boolean;
    /** Determines if required statement is enabled */
    requiredStatementEnabled: boolean;
    /** Time taken to blend images */
    blendTime: number;
    /** Determines if panning is constrained */
    constrainDuringPan: boolean;
    /** Time after which controls fade after inactivity */
    controlsFadeAfterInactive: number;
    /** Delay before controls start to fade */
    controlsFadeDelay: number;
    /** Duration of controls fade */
    controlsFadeLength: number;
    /** Default zoom level */
    defaultZoomLevel: number;
    /** Determines if annotation is enabled */
    doubleClickAnnotationEnabled: boolean;
    /** Determines if rendering is immediate */
    immediateRender: boolean;
    /** Maximum pixel ratio for zoom */
    maxZoomPixelRatio: number;
    /** Position of the navigator */
    navigatorPosition: string;
    /** Gap between pages */
    pageGap: number;
    /** Determines if home control is shown */
    showHomeControl: boolean;
    /** Number of attributions to trim */
    trimAttributionCount: number;
    /** Ratio of visibility */
    visibilityRatio: number;
};
declare type OpenSeadragonCenterPanelContent = CenterPanelContent & {
    attribution: string;
    goHome: string;
    imageUnavailable: string;
    next: string;
    previous: string;
    rotateRight: string;
    zoomIn: string;
    zoomOut: string;
};
declare type OpenSeadragonCenterPanel = ModuleConfig & {
    options: OpenSeadragonCenterPanelOptions;
    content: OpenSeadragonCenterPanelContent;
};
declare type SearchFooterPanelOptions = FooterPanelOptions & {
    /** Determines if autocomplete for words is allowed */
    autocompleteAllowWords: boolean;
    /** Number of terms to elide in details */
    elideDetailsTermsCount: number;
    /** Number of terms to elide in results */
    elideResultsTermsCount: number;
    /** Determines if image mode is forced */
    forceImageMode: boolean;
    /** Determines if page mode is enabled */
    pageModeEnabled: boolean;
    /** Determines if position marker is enabled */
    positionMarkerEnabled: boolean;
};
declare type SearchFooterPanelContent = FooterPanelContent & {
    clearSearch: string;
    defaultLabel: string;
    displaying: string;
    enterKeyword: string;
    image: string;
    imageCaps: string;
    instanceFound: string;
    instancesFound: string;
    nextResult: string;
    page: string;
    pageCaps: string;
    previousResult: string;
    print: string;
    resultFoundFor: string;
    resultsFoundFor: string;
    searchWithin: string;
};
declare type SearchFooterPanel = ModuleConfig & {
    options: SearchFooterPanelOptions;
    content: SearchFooterPanelContent;
};
declare type MobileFooterPanelOptions = FooterPanelOptions & {};
declare type MobileFooterPanelContent = FooterPanelContent & {
    rotateRight: string;
    moreInfo: string;
    zoomIn: string;
    zoomOut: string;
};
declare type MobileFooterPanel = ModuleConfig & {
    options: MobileFooterPanelOptions;
    content: MobileFooterPanelContent;
};
declare type OSDDownloadDialogueOptions = DownloadDialogueOptions & {
    /** Size of the confined image */
    confinedImageSize: number;
    /** Percentage of the current view that is disabled */
    currentViewDisabledPercentage: number;
    /** Determines if download of current view is enabled */
    downloadCurrentViewEnabled: boolean;
    /** Determines if download of whole image in high resolution is enabled */
    downloadWholeImageHighResEnabled: boolean;
    /** Determines if download of whole image in low resolution is enabled */
    downloadWholeImageLowResEnabled: boolean;
    /** Maximum width of the image */
    maxImageWidth: number;
    /** Determines if explanatory text for options is enabled */
    optionsExplanatoryTextEnabled: boolean;
    /** Determines if selection is enabled */
    selectionEnabled: boolean;
};
declare type OSDDownloadDialogueContent = DownloadDialogueContent & {
    allPages: string;
    currentViewAsJpg: string;
    currentViewAsJpgExplanation: string;
    download: string;
    downloadSelection: string;
    downloadSelectionExplanation: string;
    editSettings: string;
    entireDocument: string;
    entireFileAsOriginal: string;
    entireFileAsOriginalWithFormat: string;
    individualPages: string;
    noneAvailable: string;
    pagingNote: string;
    preview: string;
    selection: string;
    termsOfUse: string;
    title: string;
    wholeImageHighRes: string;
    wholeImageHighResExplanation: string;
    wholeImageLowResAsJpg: string;
    wholeImageLowResAsJpgExplanation: string;
    wholeImagesHighRes: string;
    wholeImagesHighResExplanation: string;
};
declare type OSDDownloadDialogue = ModuleConfig & {
    options: OSDDownloadDialogueOptions;
    content: OSDDownloadDialogueContent;
};
declare type OSDShareDialogueOptions = ShareDialogueOptions & {};
declare type OSDShareDialogueContent = ShareDialogueContent & {};
declare type OSDShareDialogue = ModuleConfig & {
    options: OSDShareDialogueOptions;
    content: OSDShareDialogueContent;
};
declare type OSDSettingsDialogueOptions = SettingsDialogueOptions & {};
declare type OSDSettingsDialogueContent = SettingsDialogueContent & {};
declare type OSDSettingsDialogue = ModuleConfig & {
    options: OSDSettingsDialogueOptions;
    content: OSDSettingsDialogueContent;
};
declare type Modules = {
    contentLeftPanel: ContentLeftPanel;
    downloadDialogue: OSDDownloadDialogue;
    multiSelectDialogue: MultiSelectDialogue;
    pagingHeaderPanel: PagingHeaderPanel;
    openSeadragonCenterPanel: OpenSeadragonCenterPanel;
    searchFooterPanel: SearchFooterPanel;
    mobileFooterPanel: MobileFooterPanel;
    shareDialogue: OSDShareDialogue;
    settingsDialogue: OSDSettingsDialogue;
};
export declare type Config = BaseConfig & {
    modules: Modules;
};
export {};
