export default function parseArgs(testArgs?: string[]): ({ command: string; githubApi?: string | undefined; baseBranch?: string | undefined; githubGraphqlApi?: string | undefined; plugins?: string[] | undefined; } & IRepoArgs & ILogArgs & ICreateLabelsCommandOptions) | ({ command: string; githubApi?: string | undefined; baseBranch?: string | undefined; githubGraphqlApi?: string | undefined; plugins?: string[] | undefined; } & IRepoArgs & ILogArgs & ILabelCommandOptions) | ({ command: string; githubApi?: string | undefined; baseBranch?: string | undefined; githubGraphqlApi?: string | undefined; plugins?: string[] | undefined; } & IRepoArgs & ILogArgs & IVersionCommandOptions) | undefined; interface IAuthorArgs { name?: string; email?: string; } interface IRepoArgs { owner?: string; repo?: string; } interface ILogArgs { verbose?: boolean; veryVerbose?: boolean; } export interface IInitCommandOptions { onlyLabels?: boolean; dryRun?: boolean; } export interface ICreateLabelsCommandOptions { dryRun?: boolean; } export interface ILabelCommandOptions { pr?: number; } export interface IPRCheckCommandOptions { pr?: number; url?: string; skipReleaseLabels?: string[]; context?: string; dryRun?: boolean; } export interface IPRCommandOptions { sha?: string; pr?: number; url: string; state: 'pending' | 'success' | 'error' | 'failure'; description: string; context: string; dryRun?: boolean; } export interface IVersionCommandOptions { skipReleaseLabels?: string[]; onlyPublishWithReleaseLabel?: boolean; } export interface IChangelogOptions extends IAuthorArgs { noVersionPrefix?: boolean; jira?: string; dryRun?: boolean; from?: string; to?: string; message?: string; } export interface IReleaseCommandOptions extends IAuthorArgs { noVersionPrefix?: boolean; jira?: string; dryRun?: boolean; useVersion?: string; slack?: string; } export interface ICommentCommandOptions { message?: string; pr?: number; context?: string; dryRun?: boolean; delete?: boolean; } export interface IShipItCommandOptions { dryRun?: boolean; slack?: string; } export interface ICanaryCommandOptions { dryRun?: boolean; pr?: number; build?: number; message?: string | 'false'; } declare type GlobalFlags = { command: string; githubApi?: string; baseBranch?: string; githubGraphqlApi?: string; plugins?: string[]; } & IRepoArgs & ILogArgs; export declare type ArgsType = GlobalFlags & (IInitCommandOptions | ICreateLabelsCommandOptions | ILabelCommandOptions | IPRCheckCommandOptions | IPRCommandOptions | ICommentCommandOptions | IReleaseCommandOptions | IVersionCommandOptions | IShipItCommandOptions); export {};