import { DateLike, ExtraFields, ParseOptions } from "../../common/types.cjs";
//#region src/opml/common/types.d.ts
type MainOptions<A extends ReadonlyArray<string> = ReadonlyArray<string>> = ParseOptions & {
  extraOutlineAttributes?: A;
};
declare namespace Opml {
  type Outline<TDate extends DateLike, A extends ReadonlyArray<string> = ReadonlyArray<string>> = {
    text: string;
    type?: string;
    isComment?: boolean;
    isBreakpoint?: boolean;
    created?: TDate;
    category?: string;
    description?: string;
    xmlUrl?: string;
    htmlUrl?: string;
    language?: string;
    title?: string;
    version?: string;
    url?: string;
    outlines?: Array<Outline<TDate, A>>;
  } & ExtraFields<A>;
  type Head<TDate extends DateLike> = {
    title?: string;
    dateCreated?: TDate;
    dateModified?: TDate;
    ownerName?: string;
    ownerEmail?: string;
    ownerId?: string;
    docs?: string;
    expansionState?: Array<number>;
    vertScrollState?: number;
    windowTop?: number;
    windowLeft?: number;
    windowBottom?: number;
    windowRight?: number;
  };
  type Body<TDate extends DateLike, A extends ReadonlyArray<string> = ReadonlyArray<string>> = {
    outlines?: Array<Outline<TDate, A>>;
  };
  type Document<TDate extends DateLike, A extends ReadonlyArray<string> = ReadonlyArray<string>> = {
    head?: Head<TDate>;
    body?: Body<TDate, A>;
  };
}
//#endregion
export { MainOptions, Opml };