import { Position, PageSource } from '../type';
import { Identity } from '../vo/identity';
import { FileInfo } from '../vo/fileinfo';
export declare function posFromInput(filename: string, input: Uint8Array, offset: number): Position;
export declare class Source implements PageSource {
    id: string;
    identity: Identity;
    file: FileInfo;
    constructor(file: FileInfo);
    sourceKey(): string;
    contentSource(): Promise<Uint8Array>;
    /**
     * Read source all - exact replica of Go's readSourceAll method
     */
    private readSourceAll;
    /**
     * Position offset - exact replica of Go's PosOffset method
     */
    posOffset(offset: number): Promise<Position>;
    /**
     * Get identity - for PageIdentity interface
     */
    pageIdentity(): Identity;
    /**
     * Get file - for FileProvider interface
     */
    pageFile(): FileInfo;
    /**
     * Get stale versions - for Staler interface
     */
    staleVersions(): number[];
    /**
     * Get section - for PageSource interface
     */
    section(): string;
    /**
     * Get paths - for PageSource interface
     */
    paths(): any;
    /**
     * Get path - for PageSource interface
     */
    path(): string;
    /**
     * Get opener - for PageSource interface
     */
    opener(): () => Promise<any>;
    /**
     * Open reader - simple implementation
     */
    openReader(): any;
    /**
     * Content - simple implementation
     */
    content(): Promise<Uint8Array>;
}
/**
 * Factory function to create new page source
 * Exact replica of Go's newPageSource function
 */
export declare function newPageSource(file: FileInfo): Source;
//# sourceMappingURL=pagesource.d.ts.map