## API Report File for "@rushstack/rush-redis-cobuild-plugin"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

/// <reference types="node" />

import type { ICobuildCompletedState } from '@rushstack/rush-sdk';
import type { ICobuildContext } from '@rushstack/rush-sdk';
import type { ICobuildLockProvider } from '@rushstack/rush-sdk';
import type { IRushPlugin } from '@rushstack/rush-sdk';
import type { RedisClientOptions } from '@redis/client';
import type { RushConfiguration } from '@rushstack/rush-sdk';
import type { RushSession } from '@rushstack/rush-sdk';

// @beta
export interface IRedisCobuildLockProviderOptions extends RedisClientOptions {
    passwordEnvironmentVariable?: string;
}

// Warning: (ae-incompatible-release-tags) The symbol "IRushRedisCobuildPluginOptions" is marked as @public, but its signature references "IRedisCobuildLockProviderOptions" which is marked as @beta
//
// @public (undocumented)
export type IRushRedisCobuildPluginOptions = IRedisCobuildLockProviderOptions;

// @beta (undocumented)
export class RedisCobuildLockProvider implements ICobuildLockProvider {
    constructor(options: IRedisCobuildLockProviderOptions, rushSession: RushSession);
    acquireLockAsync(context: ICobuildContext): Promise<boolean>;
    // (undocumented)
    connectAsync(): Promise<void>;
    // (undocumented)
    disconnectAsync(): Promise<void>;
    // (undocumented)
    static expandOptionsWithEnvironmentVariables(options: IRedisCobuildLockProviderOptions, environment?: NodeJS.ProcessEnv): IRedisCobuildLockProviderOptions;
    // (undocumented)
    getCompletedStateAsync(context: ICobuildContext): Promise<ICobuildCompletedState | undefined>;
    // (undocumented)
    renewLockAsync(context: ICobuildContext): Promise<void>;
    // (undocumented)
    setCompletedStateAsync(context: ICobuildContext, state: ICobuildCompletedState): Promise<void>;
}

// @public (undocumented)
class RushRedisCobuildPlugin implements IRushPlugin {
    constructor(options: IRushRedisCobuildPluginOptions);
    // (undocumented)
    apply(rushSession: RushSession, rushConfiguration: RushConfiguration): void;
    // (undocumented)
    pluginName: string;
}
export default RushRedisCobuildPlugin;

// (No @packageDocumentation comment for this package)

```
