import commander from "commander";
import { mapPage, writePage } from "./pull-pages";
type PushPageOptions = {
    siteId?: string;
    token?: string;
    downloadImages?: string;
    debug?: boolean;
    dryRun?: boolean;
    cwd?: string;
    logger?: (message: string) => void;
    repository?: PushPageRepository;
    mapReadBackPage?: typeof mapPage;
    writeReadBackPage?: typeof writePage;
};
type PushPageRepository = {
    getSiteByKey(siteId: string): Promise<{
        key: string;
        name?: string;
        managed_pages?: boolean;
        active?: boolean;
    } | undefined>;
    resolveParentPageChain(siteId: string, parentPathSegments: string[]): Promise<string | null>;
    findPageBySiteParentAndSlug(siteId: string, parentPageId: string | null, slug: string): Promise<{
        id: string;
        slug?: string;
        title?: string;
    } | undefined>;
    getMaxSiblingSort(siteId: string, parentPageId: string | null): Promise<number>;
    createPage(payload: Record<string, any>): Promise<any>;
    getPageForReadBack(pageId: string): Promise<any>;
    listPageKeys(siteId: string): Promise<any[]>;
};
export type PushPageResult = {
    dryRun: boolean;
    siteId: string;
    payload: Record<string, any>;
    createdPage?: any;
};
declare const register: (program: commander.Command) => void;
export default register;
export declare function runPushPage(filePath: string, options?: PushPageOptions): Promise<PushPageResult>;
