import { z } from 'zod';
import { type MsGraphConfig } from '../core/msgraph/config.ts';
import { Accessor } from './base.ts';
export interface OneDriveConfig extends MsGraphConfig {
    driveId?: string;
    siteId?: string;
    groupId?: string;
    userId?: string;
    keyPrefix?: string;
}
export declare const OneDriveConfig: z.ZodObject<{
    driveId: z.ZodOptional<z.ZodString>;
    siteId: z.ZodOptional<z.ZodString>;
    groupId: z.ZodOptional<z.ZodString>;
    userId: z.ZodOptional<z.ZodString>;
    keyPrefix: z.ZodOptional<z.ZodString>;
    accessToken: import("../vfs/secrets.ts").SecretSchema<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("../core/msgraph/config.ts").AccessTokenProvider, import("../core/msgraph/config.ts").AccessTokenProvider>]>>;
    tenantHost: z.ZodOptional<z.ZodString>;
    graphBaseUrl: z.ZodOptional<z.ZodString>;
    timeout: z.ZodOptional<z.ZodNumber>;
    maxRetries: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export declare function resolveOneDriveConfig(config: OneDriveConfig): {
    driveId: string | null;
    siteId: string | null;
    groupId: string | null;
    userId: string | null;
    keyPrefix: string;
    accessToken: string | import("../core/msgraph/config.ts").AccessTokenProvider;
    tenantHost: string | null;
    graphBaseUrl: string | null;
    timeout: number;
    maxRetries: number;
};
export declare class OneDriveAccessor extends Accessor {
    readonly config: ReturnType<typeof resolveOneDriveConfig>;
    driveType: string | null;
    constructor(config: OneDriveConfig);
}
//# sourceMappingURL=onedrive.d.ts.map