export type OutlookIntegrationStatus = {
    connected: boolean;
    mailboxPrincipal?: string | null;
    expiresAt?: string | null;
    scope?: string | null;
};
export type OutlookAuthorizeUrlRequest = {
    redirectUri: string;
};
export type OutlookAuthorizeUrlResponse = {
    authorizeUrl: string;
    state: string;
    codeChallenge?: string;
    redirectUri?: string;
};
export type OutlookAuthExchangeRequest = {
    authorizationCode: string;
    state: string;
    redirectUri: string;
};
export type OutlookSendMailRequest = {
    to: string;
    subject: string;
    body: string;
};
export declare function getStatus(): Promise<OutlookIntegrationStatus>;
export declare function getAuthorizeUrl(request: OutlookAuthorizeUrlRequest): Promise<OutlookAuthorizeUrlResponse>;
export declare function exchangeAuthorizationCode(request: OutlookAuthExchangeRequest): Promise<OutlookIntegrationStatus>;
export declare function disconnect(): Promise<void>;
export declare function sendMail(payload: OutlookSendMailRequest): Promise<void>;
export declare function checkAndAuthenticate(): Promise<void>;
export declare function getOutlookRedirectUri(): string;
//# sourceMappingURL=outlookIntegrationClient.d.ts.map