///
import { Readable } from 'node:stream';
import { z } from 'zod';
import { Storage } from '@google-cloud/storage';
export declare const bucket_config: z.ZodObject<{
/**
* Name of the Google Cloud Storage bucket to upload the audio file to.
*/
bucketName: z.ZodString;
}, "strip", z.ZodTypeAny, {
bucketName: string;
}, {
bucketName: string;
}>;
export type BucketConfig = z.input;
export declare const write_config: z.ZodObject<{
/**
* Name of the audio asset to be uploaded to Cloud Storage.
*/
assetName: z.ZodString;
/**
* Readable stream containing the audio data to be uploaded to Cloud Storage.
*/
readable: z.ZodType;
}, "strip", z.ZodTypeAny, {
assetName: string;
readable: Readable;
}, {
assetName: string;
readable: Readable;
}>;
export type WriteConfig = z.input;
export declare const write: (storage: Storage, cfg: BucketConfig, config: WriteConfig) => Promise<{
value: {
message: string;
href: string;
};
error?: undefined;
} | {
error: Error;
value?: undefined;
}> | {
error: Error;
};
export declare const auth_options: z.ZodObject<{
credentials: z.ZodOptional;
private_key: z.ZodString;
}, "strip", z.ZodTypeAny, {
client_email: string;
private_key: string;
}, {
client_email: string;
private_key: string;
}>>;
keyFilename: z.ZodOptional>;
}, "strip", z.ZodTypeAny, {
credentials?: {
client_email: string;
private_key: string;
} | undefined;
keyFilename?: string | undefined;
}, {
credentials?: {
client_email: string;
private_key: string;
} | undefined;
keyFilename?: string | undefined;
}>;
export type AuthOptions = z.input;
export declare const client_config: z.ZodObject;
private_key: z.ZodString;
}, "strip", z.ZodTypeAny, {
client_email: string;
private_key: string;
}, {
client_email: string;
private_key: string;
}>>;
keyFilename: z.ZodOptional>;
}, {
/**
* Name of the Google Cloud Storage bucket to upload the audio file to.
*/
bucketName: z.ZodString;
}>, "strip", z.ZodTypeAny, {
bucketName: string;
credentials?: {
client_email: string;
private_key: string;
} | undefined;
keyFilename?: string | undefined;
}, {
bucketName: string;
credentials?: {
client_email: string;
private_key: string;
} | undefined;
keyFilename?: string | undefined;
}>;
export type ClientConfig = z.input;
/**
* Client for Google Cloud Storage.
*/
export declare const defClient: (config: ClientConfig) => {
config: {
bucketName: string;
};
write: (config: {
assetName: string;
readable: Readable;
}) => Promise<{
value: {
message: string;
href: string;
};
error?: undefined;
} | {
error: Error;
value?: undefined;
}> | {
error: Error;
};
};
//# sourceMappingURL=cloud-storage.d.ts.map