import { FC, ReactElement } from "react";
import { IMainState } from "../state/reducer";
import { FileLoaderFunction } from "../utils/fileLoaders";
export interface IConfig {
    header?: IHeaderConfig;
}
export interface IHeaderConfig {
    disableHeader?: boolean;
    disableFileName?: boolean;
    retainURLParams?: boolean;
    overrideComponent?: IHeaderOverride;
}
export type IHeaderOverride = (state: IMainState, previousDocument: () => void, nextDocument: () => void) => ReactElement<any, any> | null;
export interface ITheme {
    primary?: string;
    secondary?: string;
    tertiary?: string;
    text_primary?: string;
    text_secondary?: string;
    text_tertiary?: string;
    disableThemeScrollbar?: boolean;
}
export interface IStyledProps {
    theme: ITheme;
}
export interface IDocument {
    uri: string;
    fileType?: string;
    fileData?: string | ArrayBuffer;
}
export interface DocRendererProps {
    mainState: IMainState;
}
export interface DocRenderer extends FC<DocRendererProps> {
    fileTypes: string[];
    weight: number;
    fileLoader?: FileLoaderFunction | null | undefined;
}
