import type { Token } from "../token";
export interface DocComment {
    content: string;
    inner: boolean;
    position: Token["position"];
    modulePath: string;
}
export interface DocAssociation {
    comment: DocComment;
    declarationName: string;
    declarationPosition: Token["position"] | null;
}
export interface DocExtractionResult {
    moduleDoc: DocComment | null;
    declarations: DocAssociation[];
}
export interface InlineDocResult {
    docs: Map<string, string>;
}
export declare function getDocCommentLookupKey(target: {
    position: Token["position"];
    modulePath: string;
}): string;
export declare function stripDocLineComment(value: string): string;
export declare function stripDocBlockComment(value: string): string;
export declare function extractDocComments(tokens: Token[]): DocExtractionResult;
export declare function extractInlineDocs(tokens: Token[], startIndex: number, endIndex: number): InlineDocResult;
export declare function findMatchingParens(tokens: Token[], searchStart: number): {
    open: number;
    close: number;
} | null;
