import { SheetAdapter } from '../../adapter/sheetAdapter';
import { ActorConfig, TableSchema } from '../../schema/types';
export interface CLIConfig {
    actors: ActorConfig[];
    projectName?: string;
    schemasDir?: string;
}
export declare function loadCLIConfig(): CLIConfig;
/**
 * Sets up a fully-wired SheetAdapter (env checks, OAuth, admin context) with the given schemas
 * registered — shared by drop-table/drop-column/rename-column, which each also need direct
 * SheetClient access (via adapter.getClient()) alongside normal table() CRUD for reading the
 * admin `users` table on --all-users.
 */
export declare function buildAdminAdapter(params: {
    config: CLIConfig;
    schemas: TableSchema[];
    tokenFile?: string;
}): Promise<{
    adapter: SheetAdapter;
    adminCtx: SheetAdapter;
    adminSheetId: string;
}>;
export interface SheetTarget {
    sheetId: string;
    /** Human-readable label for status output, e.g. 'admin', 'seller (dev/shared)', 'seller:user_123'. */
    label: string;
}
/**
 * Resolves which live Google Sheets a change to an actor's table should apply to: the admin
 * sheet for actor:'admin', or the actor's configured dev/shared sheet plus (with --all-users)
 * every registered user's personal actor sheet, read from the admin `users` table exactly like
 * sync.ts's --all-users flow does.
 */
export declare function resolveSheetTargets(adminCtx: SheetAdapter, actor: string, adminSheetId: string, actorCfg: ActorConfig | undefined, allUsers: boolean): Promise<SheetTarget[]>;
//# sourceMappingURL=adminAdapter.d.ts.map