import type { DocUrlOptions, UrlBuilderOptions } from './types';
interface PgPage {
/** Page as PNG image */
png: () => string;
/** Page as markdown */
md: () => string;
/** Page as structured JSON */
json: () => string;
}
interface PgProxy {
[index: number]: PgPage;
}
interface DocumentUrl {
/** Base document URL */
url: (opts?: UrlBuilderOptions) => string;
/** Thumbnail image URL (pg_1.png) */
thumbnail: {
url: () => string;
};
/** Flat page access: d.pg[1].png(), d.pg[1].md(), d.pg[1].json() */
pg: PgProxy;
/** Legacy page-level access */
pages: PageProxy;
/** Entity-level access */
entities: EntitiesProxy;
}
interface PageProxy {
[index: number]: {
/** Page rendered as image */
image: {
url: () => string;
};
/** Page as markdown */
markdown: {
url: () => string;
};
/** Raw page URL */
url: () => string;
};
}
interface EntitiesProxy {
tables: EntityCollectionProxy;
figures: EntityCollectionProxy;
}
interface EntityCollectionProxy {
[index: number]: {
url: (opts?: {
format?: 'json' | 'csv' | 'html';
}) => string;
};
url: (opts?: UrlBuilderOptions) => string;
}
/**
* Build-time URL builder — Cloudinary for documents.
*
* Every document property is a CDN-cacheable URL.
* Construct at build time, works in any `
` or ``.
*
* ```tsx
* import { doc } from '@okrapdf/runtime';
* const d = doc('doc_7fK3x');
*
* CSV
* ```
*/
export declare function doc(documentId: string, baseUrlOrOptions?: string | DocUrlOptions, maybeOptions?: DocUrlOptions): DocumentUrl;
export {};
//# sourceMappingURL=url.d.ts.map