import { z } from 'zod';
import { type MsGraphConfig } from '../core/msgraph/config.ts';
import { Accessor } from './base.ts';
export interface SharePointConfig extends MsGraphConfig {
    siteFilter?: string;
    site?: string;
    drive?: string;
    keyPrefix?: string;
}
export declare const SharePointConfig: z.ZodObject<{
    siteFilter: z.ZodOptional<z.ZodString>;
    site: z.ZodOptional<z.ZodString>;
    drive: 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 resolveSharePointConfig(config: SharePointConfig): {
    siteFilter: string | null;
    site: string | null;
    drive: 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 SharePointAccessor extends Accessor {
    readonly config: ReturnType<typeof resolveSharePointConfig>;
    siteCache: Map<string, string>;
    driveCache: Map<string, string>;
    constructor(config: SharePointConfig);
    /** Drop the site and drive ids with the mount's caches. */
    forget(): void;
}
//# sourceMappingURL=sharepoint.d.ts.map