import { ContractDefinition, SourceUnit } from 'solidity-ast'; import { SolcOutput, SolcInput } from 'solidity-ast/solc'; import { ASTDereferencer } from 'solidity-ast/utils'; import { FullConfig } from './config'; import { DocItem } from './doc-item'; import { Properties } from './templates'; export interface Build { input: SolcInput; output: SolcOutput; } export interface BuildContext extends Build { deref: ASTDereferencer; } export declare type SiteConfig = Pick; export declare type PageStructure = SiteConfig['pages']; export declare type PageAssigner = ((item: DocItem, file: SourceUnit, config: SiteConfig) => string | undefined); export declare const pageAssigner: Record; export interface Site { items: DocItemWithContext[]; pages: Page[]; } export interface Page { id: string; items: DocItemWithContext[]; } export declare const DOC_ITEM_CONTEXT: "__item_context"; export declare type DocItemWithContext = DocItem & { [DOC_ITEM_CONTEXT]: DocItemContext; }; export interface DocItemContext { page?: string; item: DocItemWithContext; contract?: ContractDefinition; file: SourceUnit; build: BuildContext; } export declare function buildSite(builds: Build[], siteConfig: SiteConfig, properties?: Properties): Site; //# sourceMappingURL=site.d.ts.map